发送消息到任务栏的状态区域.
#Include <WinAPIEx.au3>
_WinAPI_ShellNotifyIcon ( $iMessage, $tNOTIFYICONDATA )
$iMessage | 指定操作类型. 参数可以是以下值之一: IM_ADD ;添加一个图标到状态区域 IM_MODIFY ;修改状态区的图标 IM_DELETE ;删除状态区图标 IM_SETFOCUS ;Shell32.dll 版本5.0 或更高版本.返回任务栏通知区域焦点 IM_SETVERSION ;Shell32.dll 版本5.0 或更高版本.指示通知区域的行为依照结构 lpData 中 uVersion 成员规定的版本号 |
$tNOTIFYICONDATA | $tagNOTIFYICONDATA 结构.结构的内容和规模依赖于 操作系统的 $iMessage 和版本. |
成功: | 返回 1. |
失败: | 返回 0,并设置@error标志为非 0 值. |
在MSDN中搜索
#Include <APIConstants.au3>
#Include <WinAPIEx.au3>
Opt('MustDeclareVars', 1)
Global $tNOTIFYICONDATA = DllStructCreate($tagNOTIFYICONDATA)
OnAutoItExitRegister('OnAutoItExit')
DllStructSetData($tNOTIFYICONDATA, 'Size', DllStructGetSize($tNOTIFYICONDATA))
DllStructSetData($tNOTIFYICONDATA, 'hWnd', WinGetHandle(AutoItWinGetTitle()))
DllStructSetData($tNOTIFYICONDATA, 'Flags', $NIF_ICON)
DllStructSetData($tNOTIFYICONDATA, 'ID', 2)
DllStructSetData($tNOTIFYICONDATA, 'hIcon', _WinAPI_ShellExtractIcon(@SystemDir & '\shell32.dll', 166, 16, 16))
_WinAPI_ShellNotifyIcon($NIM_ADD, $tNOTIFYICONDATA)
DllStructSetData($tNOTIFYICONDATA, 'ID', 3)
DllStructSetData($tNOTIFYICONDATA, 'hIcon', _WinAPI_ShellExtractIcon(@SystemDir & '\shell32.dll', 130, 16, 16))
_WinAPI_ShellNotifyIcon($NIM_ADD, $tNOTIFYICONDATA)
While 1
Sleep(1000)
WEnd
Func OnAutoItExit()
DllStructSetData($tNOTIFYICONDATA, 'ID', 2)
_WinAPI_ShellNotifyIcon($NIM_DELETE, $tNOTIFYICONDATA)
DllStructSetData($tNOTIFYICONDATA, 'ID', 3)
_WinAPI_ShellNotifyIcon($NIM_DELETE, $tNOTIFYICONDATA)
EndFunc ;==>OnAutoItExit