VB.NETで常駐アプリケーションを作る


VB.NETで常駐アプリケーションを作る方法です。

常駐アプリケーションとして、
1、コンピュータの起動時にアプリケーションも起動する。
2、タスクバーのタスクトレイにアイコンを表示する。
3、タスクトレイのアイコンを右クリックで、フォームを開く。
4、フォームの最小化ボタンで隠れる。
と言うものを考えます。

コンピュータの起動時にアプリケーションも起動するためには、まず、
実行ファイル(EXEファイル)を右クリックして、ショートカットの作成をします。
スタート→すべてのプログラム→スタートアップを右クリック→開くで、
スタートアップのフォルダの中に、作成したショートカットを入れます。

アプリケーション起動時にフォームを非表示にするためには、通常、

    Public Sub Main()
        Dim Form1 As New Form1()

        Application.Run()

    End Sub

としますが、ここでは、フォームをロードしてイベントを発生させたりしたいので、

    Public Sub Main()
        Dim Form1 As New Form1()

        Application.Run(Form1)

    End Sub

とします。
しかし、こうしてしまうと、起動時にフォームが表示されてしまいます。
フォームロードイベントで、Me.Visible = False とか、Me.Hide()としても、
うまくいきません。
Me.WindowState = FormWindowState.Minimized としても、タイトルバーが右下に
表示されてしまいます。
この場合は、デザイナで編集するときに、WindowStateをMinimizedにして、
ShowInTaskbarをFalseにします。

タスクバーのタスクトレイにアイコンを表示するためには、
NotifyIcon コントロールをフォームに貼り付け、アイコンを選択します。

タスクトレイのアイコンを右クリックで、フォームを開くためには、
ContextMenu コントロールをフォームに貼り付け、NotifyIcon コントロールの
ContextMenu プロパティで、フォームに貼り付けたContextMenu コントロールを選択し、
「開く」という、MenuItemを作成し、これがクリックされたところで、Me.Show()とします。

これだけだと、フォームの最小化ボタンを押して、再度、隠そうとすると、
また、タイトルバーが右下に表示されてしまいます。

この場合は、

    Private Sub Form1_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.SizeChanged
        If Me.WindowState = FormWindowState.Minimized Then
            Me.Visible = False
        End If
    End Sub

とすれば、何度でも隠したり表示したりすることができます。

posted by VB.NET+MSDE+ActiveReports at 17:18 | Comment(1) | TrackBack(0) | VB.NET
この記事へのコメント
通販 激安 バッグ
Posted by christian louboutin japan at 2013年07月17日 06:52
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL
http://blog.sakura.ne.jp/tb/5804232