问题是:
怎样编程序,得到这串文本,图标所属窗口的程序可是别人开发的。
6 个解决方案
#1
我有一个想法,不知是否可行。
你用Spy++看一下就会知道,托盘区实际上是一个ToolBar,你的程序可以得到这个ToolBar的指针,至于这个ToolBar如何用法,你自己去捉摸吧,我没用过。
还有一种方法应该是可行的,但可能要困难些。因为托盘区是一个ToolBar,鼠标移过去,当要弹出工具提示时,应该会发出一个什么消息,所以你只需钩住系统的WH_CALLWNDPROC钩子,然后过滤这条消息,应该就可以达到目的了。
你用Spy++看一下就会知道,托盘区实际上是一个ToolBar,你的程序可以得到这个ToolBar的指针,至于这个ToolBar如何用法,你自己去捉摸吧,我没用过。
还有一种方法应该是可行的,但可能要困难些。因为托盘区是一个ToolBar,鼠标移过去,当要弹出工具提示时,应该会发出一个什么消息,所以你只需钩住系统的WH_CALLWNDPROC钩子,然后过滤这条消息,应该就可以达到目的了。
#2
思路很好。
#3
怎么这么笨呢?
问题本在问题外!
仔细观察一下,提示文本的内容完全跟所对应的窗口的标题一样。
因此,只要枚举所有的顶层窗口,再获取各窗口的标题即可!
EnumWindow()等一系列函数应该会用吧!
问题本在问题外!
仔细观察一下,提示文本的内容完全跟所对应的窗口的标题一样。
因此,只要枚举所有的顶层窗口,再获取各窗口的标题即可!
EnumWindow()等一系列函数应该会用吧!
#4
To:AtCsdn 不是吧?反正我编的程序提示内容和程序标题基本上没什么联系。你也可以看一下NT的任务管理器,提示内容是CPU使用情况,也不是窗口标题。
#5
AtCsdn的方法我早已试过,行不通.
对于 sxbyl 的方法,有一点疑问,
windows 的对象,比如工具栏,
还有别的程序的窗口处理程序,
没有保护吗?可以随便访问吗?
恳请指教,我实在是不知道.
对于 sxbyl 的方法,有一点疑问,
windows 的对象,比如工具栏,
还有别的程序的窗口处理程序,
没有保护吗?可以随便访问吗?
恳请指教,我实在是不知道.
#6
对于我说的第二个方法,不需要考虑访问权限问题
对于第一种方法,由于只是访问句柄,一般来说没什么问题。比如我们可以很容易的向一个窗口发送WM_QUIT消息让其关闭,或发送一个菜单命令,是没什么问题的,我也经常这么干。
对于第一种方法,由于只是访问句柄,一般来说没什么问题。比如我们可以很容易的向一个窗口发送WM_QUIT消息让其关闭,或发送一个菜单命令,是没什么问题的,我也经常这么干。
#1
我有一个想法,不知是否可行。
你用Spy++看一下就会知道,托盘区实际上是一个ToolBar,你的程序可以得到这个ToolBar的指针,至于这个ToolBar如何用法,你自己去捉摸吧,我没用过。
还有一种方法应该是可行的,但可能要困难些。因为托盘区是一个ToolBar,鼠标移过去,当要弹出工具提示时,应该会发出一个什么消息,所以你只需钩住系统的WH_CALLWNDPROC钩子,然后过滤这条消息,应该就可以达到目的了。
你用Spy++看一下就会知道,托盘区实际上是一个ToolBar,你的程序可以得到这个ToolBar的指针,至于这个ToolBar如何用法,你自己去捉摸吧,我没用过。
还有一种方法应该是可行的,但可能要困难些。因为托盘区是一个ToolBar,鼠标移过去,当要弹出工具提示时,应该会发出一个什么消息,所以你只需钩住系统的WH_CALLWNDPROC钩子,然后过滤这条消息,应该就可以达到目的了。
#2
思路很好。
#3
怎么这么笨呢?
问题本在问题外!
仔细观察一下,提示文本的内容完全跟所对应的窗口的标题一样。
因此,只要枚举所有的顶层窗口,再获取各窗口的标题即可!
EnumWindow()等一系列函数应该会用吧!
问题本在问题外!
仔细观察一下,提示文本的内容完全跟所对应的窗口的标题一样。
因此,只要枚举所有的顶层窗口,再获取各窗口的标题即可!
EnumWindow()等一系列函数应该会用吧!
#4
To:AtCsdn 不是吧?反正我编的程序提示内容和程序标题基本上没什么联系。你也可以看一下NT的任务管理器,提示内容是CPU使用情况,也不是窗口标题。
#5
AtCsdn的方法我早已试过,行不通.
对于 sxbyl 的方法,有一点疑问,
windows 的对象,比如工具栏,
还有别的程序的窗口处理程序,
没有保护吗?可以随便访问吗?
恳请指教,我实在是不知道.
对于 sxbyl 的方法,有一点疑问,
windows 的对象,比如工具栏,
还有别的程序的窗口处理程序,
没有保护吗?可以随便访问吗?
恳请指教,我实在是不知道.
#6
对于我说的第二个方法,不需要考虑访问权限问题
对于第一种方法,由于只是访问句柄,一般来说没什么问题。比如我们可以很容易的向一个窗口发送WM_QUIT消息让其关闭,或发送一个菜单命令,是没什么问题的,我也经常这么干。
对于第一种方法,由于只是访问句柄,一般来说没什么问题。比如我们可以很容易的向一个窗口发送WM_QUIT消息让其关闭,或发送一个菜单命令,是没什么问题的,我也经常这么干。