如何在 SCREEN 上获取鼠标 WM_MouseMove 消息?

发布于 2024-11-27 18:02:04 字数 190 浏览 1 评论 0原文

现在我正在开发一个项目,需要我随时获取鼠标移动消息。 我的应用程序只有一个用于配置目的的小窗口,大多数时候它甚至不会出现在桌面上。我需要的是能够记录鼠标在桌面上的移动。这意味着人们在桌面上移动鼠标(应该是 explorer.exe,对吧?),我需要知道。

我该怎么做?使用 C# 或 C++。使用注入?全局挂钩?听说只有c++支持全局hook,对吧?

Now I'm working on a project which require me to get mouse moving message from all time.
My app only have a tiny windows for configuration purpose and it will not even appear on the desktop for most of the time. What I need is I need to be able to record mouse moving on desktop. meaning people moving their mouse on the desktop (which should be explorer.exe ,right?) and I need to know.

How do I do that? Using c# or C++. using inject? Global hook? I heard that only c++ supports global hook, right?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

灵芸 2024-12-04 18:02:04

是的,你需要一个全局钩子,据我所知你应该使用 C 或 C++。

请参阅有关函数 SetWindowsHookEx() & 的文档公司(WH_MOUSE 钩子)。

但要小心!您必须在 DLL 中编写一个全局挂钩,并且它将被注入到每个带有窗口的进程中,因此您所做的任何坏事都可能导致会话中的任何其他程序崩溃(包括 explorer.exe、 devenv.exe 等)。

Yes, you need a global hook, and as far as I know you should use C or C++.

See the docs about function SetWindowsHookEx() & co. (WH_MOUSE hook).

But beware! You must write a global hook in a DLL, and it will get injected in every process with a window, so any bad thing you do will likely crash any other program in your session (including explorer.exe, devenv.exe, etc.).

牵你的手,一向走下去 2024-12-04 18:02:04

您还可以使用SetCapture。尽管与钩子相比,它的功能有限,但请检查一下。

You can also use SetCapture. Although it's capabilities are limited compared to a hook, check it out.

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