Winapi 正在检测SetCursorPos()?

Winapi 正在检测SetCursorPos()?,winapi,mouse,Winapi,Mouse,你可能会明白我为什么问这个问题。即使不是,也很简单。 我的问题是,是否有可能在自己的应用程序上检测SetCursorPos()的使用,而无需扫描其他正在运行的应用程序以查找对此API的任何调用 例如,如果我将光标放在一个窗口中,并调用SetCursorPos(),那么该窗口中的光标位置是否可以直接从鼠标(原始输入)得知 我并没有忘记一个事实,你可以通过检查鼠标位置的变化来“知道”鼠标输入是否是原始的;例如,如果位置从100(X)和100(Y)更改为500(X)和500(Y),而没有在这两个位置之

你可能会明白我为什么问这个问题。即使不是,也很简单。 我的问题是,是否有可能在自己的应用程序上检测SetCursorPos()的使用,而无需扫描其他正在运行的应用程序以查找对此API的任何调用

例如,如果我将光标放在一个窗口中,并调用SetCursorPos(),那么该窗口中的光标位置是否可以直接从鼠标(原始输入)得知

我并没有忘记一个事实,你可以通过检查鼠标位置的变化来“知道”鼠标输入是否是原始的;例如,如果位置从100(X)和100(Y)更改为500(X)和500(Y),而没有在这两个位置之间移动每个单独的位置,那么肯定有东西改变了鼠标位置

如果你们中的任何人都知道一种生成“原始鼠标输入”的方法,而没有任何应用程序能够区分函数输出和鼠标输出之间的差异——如果存在这种差异——那么这也就足够了


当然,每当我移动鼠标时,我使用的操作系统都会检测到这一点,然后相应地移动光标。实际上,我应该能够根据自己的意愿改变这种低级功能?

窗口无法直接确定鼠标的移动方式。外部应用程序可以使用
SetCursorPos()
,但也可以使用较低级别的函数,如
mouse\u event()
SendInput()
。当通知到达目标窗口时,操作系统已经规范化了数据,任何源信息都将丢失。如果您确实需要检测
SetCursorPos()
或其他函数的使用情况,则必须在每个正在运行的进程中直接挂接这些函数。或者,您可以尝试通过
registerarWinputDevices()
注册“原始输入”,并查看是否从鼠标硬件目录收到相应的通知,因为这些模拟功能也不会触发原始通知。

谢谢!我需要知道的一切。我之所以问这个问题,是因为你看不到,我可以告诉你,是为了避免潜在的禁令。这就是全部。。我想大多数FPS射击游戏的反作弊模块都会。。以某种方式检测此功能的使用情况;但是,这些程序不允许在自己的空间之外进行扫描,因此不可能被他们发现在扫描我的程序时使用此功能。