C# 工具提示捕手
我想创建一个应用程序,如果我按热键,它可以复制工具提示(当前桌面/窗口上显示的工具提示)。那么如何追踪当前桌面是否有工具提示呢?
I want to create an application which can copy the tool tip (the tool tips which are shown on the current desktop/window) if I press hot keys. So how can I track whether the current desktop having a tool tip.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,不可能使用 Managed.Net API 访问其他应用程序中的窗口,因此您必须做一些不同的事情。
我想您可以使用 Win32 API 来枚举窗口并查找
Tooltip_Class32
类的窗口。然后你必须阅读它们的文字。您可以按照 SO 此处和 PInvoke.net 此处。
如果您仅限于
Tooltip_Class32
那么您将只能获得工具提示窗口。我不确定 Windows 如何构建工具提示。我猜您可以使用
SendMessage
API 和WM_GETTEXT
消息(例如 这里。这应该可以让你开始,我自己从来没有真正做过,但它似乎是可行的。
First, its not possible to use the Managed.Net API to access windows in other applications so you will have to do somthing a bit different.
I guess you could use the Win32 API to enumerate windows and find those of the class
Tooltip_Class32
. Then you'd have to read the text on them.You can enum windows as described on SO here and on PInvoke.net here.
If you limit to just the
Tooltip_Class32
then you will only get the tool tip windows.I'm not sure how windows contructs a tool tip. I'm guessing you can read the text from the tool tip or from some child control window by using the
SendMessage
API with theWM_GETTEXT
message like here.That should get you started, I've never actually done it myself but it seems feasible.