C# 工具提示捕手

发布于 2024-11-10 16:03:50 字数 71 浏览 3 评论 0原文

我想创建一个应用程序,如果我按热键,它可以复制工具提示(当前桌面/窗口上显示的工具提示)。那么如何追踪当前桌面是否有工具提示呢?

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

九八野马 2024-11-17 16:03:50

首先,不可能使用 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 the WM_GETTEXT message like here.

That should get you started, I've never actually done it myself but it seems feasible.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文