托盘程序,鼠标移到托盘之后图标消息?是何问题?
参照https://bbs.bccn.net/thread-286433-1-1.html 第五楼http://baike.baidu.com/view/1873525.htm
主要代码
程序代码:
IDR_MAINFRAME equ 1004 WM_SHELLNOTIFY equ WM_USER+1 ;自定义消息 WM_USER+数值 .data szTstip db 'ASM 托盘图标',0 ;提示字符串 .data? hInstance dd ? ;模块句柄 hMain dd ? ;对话框句柄 szFileNameBuffer db MAX_PATH dup (?) stIcon NOTIFYICONDATA <> ;;;;;模态对话框过程中的代码 .elseif uMsg==WM_SIZE ;最小化时 接收WM_SIZE消息,wParam参数的值为SIZE_MINIMIZED。 .if wParam==SIZE_MINIMIZED mov stIcon.cbSize,sizeof NOTIFYICONDATA push hMain pop stIcon.hIcon mov stIcon.uID,IDR_MAINFRAME mov stIcon.uFlags,NIF_ICON+NIF_MESSAGE+NIF_TIP mov stIcon.uCallbackMessage,WM_SHELLNOTIFY invoke LoadIcon,NULL,IDI_WINLOGO mov stIcon.hIcon,eax invoke lstrcpy,addr stIcon.szTip,addr szTstip invoke ShowWindow,hMain,SW_HIDE invoke Shell_NotifyIcon,NIM_ADD,addr stIcon .endif .elseif uMsg==WM_SHELLNOTIFY ;自定义的消息 wParam的值是图标的ID ,lParam的值是鼠标的动作 .if wParam==IDR_MAINFRAME .if lParam==WM_LBUTTONDBLCLK ;鼠标左键双击 invoke ShowWindow,hMain,SW_RESTORE ;SW_RESTORE消息返回之前的窗口位置,比如最小最大之前的状态 invoke Shell_NotifyIcon,NIM_DELETE,addr stIcon;删除小图标 .endif .endif