Dus*_* E. 2 c# windows mouseevent
我目前正在遵循一个简单的自动点击应用程序的指南。我正在使用的指南利用mouse_event.
我所看到的任何地方都说它mouse_event已被弃用,并且最好使用SendInput,但我还没有找到您应该使用一个而不是另一个的实际原因。
甚至关于mouse_event的文档也指出“改用 SendInput”。
我的大部分经验都在 Java 中,我非常熟悉 thread.stop() 被弃用,因为它很危险。我正在寻找相同类型的解释。
VOID WINAPI mouse_event(
_In_ DWORD dwFlags,
_In_ DWORD dx,
_In_ DWORD dy,
_In_ DWORD dwData,
_In_ ULONG_PTR dwExtraInfo
);
Run Code Online (Sandbox Code Playgroud)
这是 mouse_event() 的声明。在你完成了一些 winapi 编程之后,这个函数有什么问题就会变得非常明显。 它没有任何方式表明失败。keybd_event() 函数也有同样的问题。例如,您可以为 dwFlags 传递垃圾值,如果没有任何办法找出原因,它就无法工作。
几乎所有的 winapi 函数都有一个返回值,BOOL 或 HANDLE 是典型的。这让函数报告失败。您通常会在接下来调用 GetLastError() 以找出问题所在。
就像 SendInput() 那样。