我将检查用户是否正在移动任何窗口(我的应用程序没有界面)并做出相应的响应。你认为最好的方法是什么?我可以确定用户是否单击了标题栏吗?我可以确定窗口是否正在移动吗?然后我需要在知道它正在移动后捕获窗口的 hWnd。
最佳答案
要获取所有 窗口的通知,而不仅仅是 Windows 窗体窗口,您需要使用由 SetWindowsHookEx() API 函数设置的 Hook 。您将需要一个 WH_CALLWNDPROC
Hook ,以便您可以看到 Windows 发送到窗口的 WM_MOVE 消息。
不幸的是,这是一个全局钩子(Hook)。实现hook回调的代码需要打包成一个DLL,这样才能注入(inject)到所有目标进程中。这给你为此使用 C# 的计划打了个洞,你不能注入(inject) CLR。 DLL 必须用非托管代码编写。
这code project提供了一种方法,包括您需要的非托管可注入(inject) DLL。
关于C# - 确定用户是否正在移动窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1777041/