预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

VB代码VB小程序:在系统托盘为程序添加图标 当前位置:HYPERLINK"http://hi.baidu.com/100bd"首页>HYPERLINK"http://hi.baidu.com/100bd/item/6dc5f9d4b3b14f3b4be1dd9b"VB小程序1-99>在系统托盘为程序添加图标 20.在系统托盘为程序添加图标 本人原创,转载请注明出处:HYPERLINK"http://hi.baidu.com/100bd/blog/item/330b4d88ab0fa0b80e244455.html"http://hi.baidu.com/100bd/blog/item/330b4d88ab0fa0b80e244455.html 为程序在系统托盘中添加图标,要解决两个问题: 一、调用API函数Shell_NotifyIcon添加图标,设置正确的参数。程序结束时,从系统托盘删除添加的图标。 二、拦截窗口的回调函数,响应用户在系统托盘图标上的鼠标事件,一般是弹出快捷菜单。自定义的回调函数不能放在窗体代码中,必须在模块中。 编写有关窗口回调函数的程序,最大的难点在于调试。调试时,如果在窗口回调函数过程的执行期间设置断点,轻则影响窗口的自动重画,重则使程序停止响应。因此,修改代码后应注意及时保存。 下面是实现在系统托盘为程序添加图标的完整代码,包括一个窗体和一个模块: '■■以下是窗体Form1的代码------------------------------------ '1.为窗体添加菜单 '为窗体添加菜单:mFast '为mFast添加下级子菜单mmFast,并将mmFast的索引设置为0 '2.在窗体上添加四个控件,所有控件均采用默认设置: 'Label1,Command1,Command2,Command3 DimctTrayIcoAsNotifyIconData PrivateSubForm_Load() Me.Caption="系统托盘例子" '为数组菜单mmFast添加条目 mFast.Visible=False LoadKjZummFast,"显示"&Me.Caption&"(&R)","mmFast-Run" LoadKjZummFast,"最小化窗口(&N)","mmFast-Min" LoadKjZummFast,"菜单例子1(&A)","mmFast-A" LoadKjZummFast,"菜单例子2(&B)","mmFast-B" LoadKjZummFast,"-"'菜单分隔条 LoadKjZummFast,"退出(X)","mmFast-Exit" DimSAsSingle Label1.AutoSize=True:S=Label1.Height Label1.Caption=Me.Caption:Label1.MoveS,S Command1.Caption="添加到系统托盘":Command1.MoveS,S*3,S*11,S*2 Command2.Caption="最小化到系统托盘":Command2.MoveS,S*6,S*11,S*2 Command3.Caption="从系统托盘删除图标":Command3.MoveS,S*9,S*11,S*2 '将窗口函数的地址设置为模块中的WndProc过程,当用户 '在系统托盘图标单击鼠标右键时,弹出自定义的菜单mFast WinAddressMe.hWnd ''如果需要程序一启动就添加到系统托盘,解除下面语句的注释即可 'CallSysTray EndSub PrivateSubForm_Resize() '设置快捷菜单的是否可用状态 DimnEnabledAsBoolean OnErrorResumeNext nEnabled=Me.WindowState=vbMinimized mmFast(KjZuIndex(mmFast,"mmFast-Min")).Enabled=nEnabled mmFast(KjZuIndex(mmFast,"mmFast-Run")).Enabled=NotnEnabled EndSub PrivateSubForm_Unload(CancelAsInteg