标题:托盘程序,鼠标移到托盘之后图标消息?是何问题?
只看楼主
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
结帖率:54.55%
 问题点数:0 回复次数:0 
托盘程序,鼠标移到托盘之后图标消息?是何问题?
参照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
搜索更多相关主题的帖子: 图标 托盘 鼠标 何问题 
2009-09-28 11:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-287143-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 3.285357 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved