|
タスクトレイにアイコンを追加するサンプル(VB6)

|
<このサンプルの概要>
このサンプルの仕様は、タイトルそのままです。VB6でタスクトレイにアイコンを表示
方法のサンプルです。
タスクトレイでアイコンをクリックした時のイベントはForm_MouseMoveで取得出来ます。
その他のタスクトレイ関連情報を紹介します。
既存プログラムをタスクトレイで実行するサンプル(VB.NET)
タスクトレイ実行ツールはいろんなプログラムをタスクトレイで実行するツール。
' タスクトレイ用のAPI-----------------------------------------------------
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
Private Const NIF_ICON = &H2
Private Const NIF_MESSAGE = &H1
Private Const NIF_TIP = &H4
Private Const WM_MOUSEMOVE = &H200
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205
Private Const WM_RBUTTONDBLCLK = &H206
Private Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uid As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type
Private Declare Function Shell_NotifyIcon Lib _
"shell32.dll" Alias "Shell_NotifyIconA" _
(ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
' ------------------------------------------------------------------------
'
' 関数名 : AddTaskTray
' 返り値 : 無し
' 引き数 : myForm(i) :親フォーム(meを指定する)
' : strToolTip(i):ツールチップ
' 機能説明 : タスクトレイにアイコン追加
'
Public Sub AddTaskTray(myForm As Form, strToolTip As String)
Dim NID As NOTIFYICONDATA
NID.cbSize = Len(NID)
NID.hIcon = Me.Icon.Handle
NID.hWnd = myForm.hWnd
NID.szTip = strToolTip & Chr(0)
NID.uCallbackMessage = WM_MOUSEMOVE
NID.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
NID.uid = 1
Shell_NotifyIcon NIM_ADD, NID
End Sub
'
' 関数名 : ModTaskTray
' 返り値 : 無し
' 引き数 : myForm(i) :親フォーム(meを指定する)
' : strToolTip(i):ツールチップ
' 機能説明 : タスクトレイにアイコン追加
'
Public Sub ModTaskTray(myForm As Form, strToolTip As String)
Dim NID As NOTIFYICONDATA
NID.cbSize = Len(NID)
NID.hIcon = Me.Icon.Handle
NID.hWnd = myForm.hWnd
NID.szTip = strToolTip & Chr(0)
NID.uCallbackMessage = WM_MOUSEMOVE
NID.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
NID.uid = 1
Shell_NotifyIcon NIM_MODIFY, NID
End Sub
'
' 関数名 : DelTaskTray
' 返り値 : 無し
' 引き数 : myForm(i):親フォーム(meを指定する)
' 機能説明 : タスクトレイからアイコン削除
'
Public Sub DelTaskTray(myForm As Form)
Dim NID As NOTIFYICONDATA
NID.cbSize = Len(NID)
NID.hIcon = 0
NID.hWnd = myForm.hWnd
NID.szTip = ""
NID.uCallbackMessage = WM_MOUSEMOVE
NID.uFlags = 0
NID.uid = 1
Shell_NotifyIcon NIM_DELETE, NID
End Sub