如何调用其他实例的 shell_notifyicon
vb吧
全部回复
仅看楼主
level 5
自控不能患者♬
楼主
这两天想给程序增加三个功能:1.最小化托盘,由shell_notifyicon完成 2:避免程序重复打开 App.PrevInstance 3.双击程序时激活前一个已打开实例,窗口网上搜的clsWindow窗口控制类 ,目前卡在 任务栏托盘程序shell_notifyicon无法通过clsWindow第二次双击程序激活显示窗口,请问老师们能不能指点一下
2022年12月21日 13点12分
1
level 9
klimaa
托盘图标本来就能恢复窗口,没必要通过clswindow。第二个实例不能运行的提示不是通过托盘图标实现的。
2022年12月21日 14点12分
2
自控不能患者♬
大佬看下我前面发的话,我是想要第二个实例能够激活第一个已经托盘了的实例窗口
2022年12月22日 04点12分
隨風🍁缒夢
@自控不能患者♬
clsWindows没用过,你可以FindWindow查找第一个实例的句柄(最好用唯一性较高的方法去激活,FindWindow只适合小用途),然后ShowWindow等函数就可以显示
2022年12月22日 04点12分
隨風🍁缒夢
@自控不能患者♬
唯一性的其他方法:SetProp给窗口标记,创建文件映射等方法
2022年12月22日 04点12分
自控不能患者♬
@隨風🍁缒夢
findwindow是找不到隐藏到托盘的第一个实例的窗口句柄的,而且,我用clswindows里用进程查找到的第一个实例的句柄,showwindow也显示不了隐藏到托盘的第一个实例,前两天测试过了
2022年12月22日 04点12分
level 13
隨風🍁缒夢
不上传以前的程序了,到这里下吧
/thread-141521-1-1.html 控制托盘图标的程序看看是否符合的需求(不提供源码)
/thread-120961-1-1.html 托盘图标类(有源码),控制激活的代码还得自己写
2022年12月22日 05点12分
3
隨風🍁缒夢
托盘图标管理的点托盘图标隐藏/显示主窗口,双击exe会激活第一个打开的,一般程序都是这么处理的
2022年12月22日 05点12分
自控不能患者♬
@隨風🍁缒夢
非常感谢老哥,但是即使看了源码,还是有个核心问题:第二个实例如何删除第一个实例留下的托盘图标呢
2022年12月22日 12点12分
1