C++ 如何将事件处理程序添加到桌面窗口?

C++ 如何将事件处理程序添加到桌面窗口?,c++,windows,winapi,dialog,window,C++,Windows,Winapi,Dialog,Window,我正在尝试制作一个程序,用鼠标下的颜色值更新另一个窗口文本输入。问题是我不知道我把这个复选框放在哪里了,因为我自己还没有创建桌面窗口 我试图创建自己的显示值的对话框,但是WM\u MOUSEMOVE只在该对话框内工作,而不是在对话框外工作。我不擅长这一点,但从我读到的内容来看,您需要倾听WM\u输入消息。 为了开始接收该消息,应用程序需要注册以侦听鼠标 阅读此文:您可以始终使用鼠标挂钩,或类似于GetCursorPos的东西。我希望被证明是错误的,但如果您想从桌面上的任何位置捕捉鼠标事件,我想您

我正在尝试制作一个程序,用鼠标下的颜色值更新另一个窗口文本输入。问题是我不知道我把这个复选框放在哪里了,因为我自己还没有创建桌面窗口


我试图创建自己的显示值的对话框,但是
WM\u MOUSEMOVE
只在该对话框内工作,而不是在对话框外工作。

我不擅长这一点,但从我读到的内容来看,您需要倾听WM\u输入消息。 为了开始接收该消息,应用程序需要注册以侦听鼠标


阅读此文:

您可以始终使用鼠标挂钩,或类似于
GetCursorPos
的东西。我希望被证明是错误的,但如果您想从桌面上的任何位置捕捉鼠标事件,我想您可能会运气不佳。一般来说,鼠标事件只会被光标所在的小部件捕获,就像在对话框中一样。@MattPhillips,鼠标挂钩是一种面向事件的方式,可以在任何地方跟踪鼠标事件。@chris问题是,一旦超出对话框,即使你疯狂地使用鼠标,也不会触发任何事件。所以,他不能使用GetCursorPos@KiroConeski,
GetCursorPos
必须在循环中运行。当鼠标操作发生时,钩子的调用方式也会相同,即使它不适用于您的窗口(如果您使用了正确的钩子)。