社区
新手乐园
帖子详情
通过句柄控制显示托盘图标的窗口
dir541541
2009-08-18 09:29:48
原本发在
http://topic.csdn.net/u/20090816/16/886b5975-3655-43eb-ad91-56881f326f16.html
这的。回复太少,沉了。再开一贴。
我想通过我的程序来控制飞鸽传书界面的显示。
先通过进程名找到飞鸽的进程PID,然后由PID得到主窗口句柄。然后用了常用的几种显示窗口的方法来将主窗口显示出来,结果都不行。
可能这些方法都是针对已有窗体的窗口。但飞鸽当前的状态是就一个托盘图标,不知道大家对这种托盘图标主窗体的显示有什么好办法。
...全文
171
7
打赏
收藏
通过句柄控制显示托盘图标的窗口
原本发在http://topic.csdn.net/u/20090816/16/886b5975-3655-43eb-ad91-56881f326f16.html这的。回复太少,沉了。再开一贴。 我想通过我的程序来控制飞鸽传书界面的显示。 先通过进程名找到飞鸽的进程PID,然后由PID得到主窗口句柄。然后用了常用的几种显示窗口的方法来将主窗口显示出来,结果都不行。 可能这些方法都是针对已有窗体的窗口。但飞鸽当前的状态是就一个托盘图标,不知道大家对这种托盘图标主窗体的显示有什么好办法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wanjingwei
2009-08-19
打赏
举报
回复
顶下吧
dir541541
2009-08-19
打赏
举报
回复
帮顶都有分~嘿嘿
xmrforever
2009-08-18
打赏
举报
回复
帮你顶一下
dir541541
2009-08-18
打赏
举报
回复
没人来~
问题点数加到50分
dir541541
2009-08-18
打赏
举报
回复
[Quote=引用 1 楼 stjay 的回复:]
先通过进程名找到飞鸽的进程PID,然后由PID得到主窗口句柄。
得到主窗口句柄是否有效?
[/Quote]
忘了说了,句柄是有效的
我输出的句柄和用spy++查看得到的是一样的
dir541541
2009-08-18
打赏
举报
回复
每次发送文件的时候都要把飞鸽点开,然后把文件或文件夹拖到飞鸽里面去。感觉有点麻烦
想在右键单击文件或文件夹的时候增加一个菜单项“发送到飞鸽”
点击后直接把文件发送到飞鸽里面
我的思路是先显示飞鸽主窗口,然后再向其发送一个WM_DROPFILES的消息
通过向Shell_TrayWnd发送鼠标双击消息应该也有办法,只不过是有点麻烦
好像托盘图标有个结构体好像是和名称有关的,到时候枚举所有托盘图标名称
再在里面查找含有飞鸽传书的关键字。得到是第几个图标位置
然后根据位置算出大概坐标,然后PostMessage鼠标双击
只是大概思路,还没具体做,不知道可行性
主要是想问下大家有没有什么方便的办法!
stjay
2009-08-18
打赏
举报
回复
先通过进程名找到飞鸽的进程PID,然后由PID得到主窗口句柄。
得到主窗口句柄是否有效?
飞鸽启动后,只有托盘
双击托盘图标后,才
创建
并显示主窗口
关闭主窗口后,窗口是
销毁
了而不是隐藏了
1.飞鸽开源的,可以自行修改。推荐。
2.基本上不能通过托盘窗口句柄来控制主窗口
托盘图标是由系统栏来管理的(窗口类名:Shell_TrayWnd)
用spy++监视双击托盘后,窗口Shell_TrayWnd产生的消息,然后PostMessage模拟发送
因为托盘在系统栏的位置可能会变,所以很难控制。
3.Hook Shell_NotifyIcon
获取参数NOTIFYICONDATA 的hWnd和uCallbackMessage值
再PostMessage(hWnd,uCallbackMessage,0,WM_LBUTTONDBLCLK);
LZ为什么要这样做呢?
vb.net 系统
托盘
,鼠标左键单击系统
托盘
图标
显示
窗口
,点关闭按钮最小化到
托盘
等等
4.无论在何时,鼠标左键单击
托盘
图标
,
窗口
重新显现 5.系统
托盘
上鼠标右键,退出程序 框架已经提供,包含很多知识点:是否在任务栏
显示
,判断鼠标左右键,关闭窗体对应的过程,获取句
柄
等技术细节都一目了然,大家可以根据...
用VC设计
托盘
图标
实例
//接收
托盘
图标
通知消息的
窗口
句
柄
nd.uID = IDR_MAINFRAME; //应用程序定义的该
图标
的ID号 nd.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP; //设置该
图标
的属性,NIF_ICON:设置成员hIcon有效 ,NIF_MESSAGE:设置...
VB为程序设置
托盘
图标
及文字提示
VB将
图标
添加到TaskBar的程序,同其他用VB编写的程序不同,这个程序可以相应鼠标事件,(其它的很多程序只能将一个
图标
放在TaskBar上),将DialogProc函数设置为Form2的
窗口
处理函数并且保存原来
窗口
处理函数句
柄
。...
用Win32API Shell_NotifyIcon进行
托盘
图标
编程-源代码
<br> // 结构成员uID可以是任何UINT值,这个ID用来标志你的
托盘
图标
,Shell_NotifyIcon函数后面将会用到这个值 <br> niData.uID = MY_TRAY_ICON_ID; <br> // 结构成员uFlags指出哪些结构成员是有效...
VB让程序最小化到系统
托盘
处并
显示
图标
hwnd As Long 处理任务栏中
图标
的
窗口
句
柄
uID As Long 定义的任务栏中
图标
的标识 uFlags As Long 任务栏
图标
功能
控制
,可以是以下值的组合(一般全包括) NIF_MESSAGE 表示发送
控制
消息; 'NIF_ICON表示...
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章