如何使用C模拟Windows和Linux上的单击?

问题描述 投票:0回答:1

我应该使用哪些库?

我应该阅读什么文档?

也许有人可以删除一个代码示例?

c click mouseevent simulation
1个回答
1
投票

在Windows上,如果要模拟在特定窗口内单击鼠标的操作,则下面的相关窗口消息(包括文档的链接):

WM_LBUTTONDOWN

WM_LBUTTONUP

[WM_LBUTTONDBLCLK(第二次单击,将发送此消息,而不是WM_LBUTTONDOWN)]

要模拟鼠标单击,您可以使用PostMessage()功能向所有这些窗口消息发送一个窗口。

对于此功能,您需要目标窗口的窗口句柄(HWND)。例如,可以使用EnumWindows()FindWindow()功能来获得。

但是,如果要模拟鼠标在屏幕上而不是在特定窗口内单击,则必须使用SendInput()功能。有关更多详细信息,请参见this Stack Overflow question

另外,请注意,由于Windows Vista的安全性,因此不再可能从非特权进程发送带有管理特权消息的进程。

以上信息仅适用于Windows。不幸的是,我无法为您提供Linux的帮助,但是您可以在this Stack Overflow question中找到解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.