我想监视我正在玩的游戏中的光标。在游戏的当前部分中只有两个光标。我想监视光标何时更改并单击鼠标。
我发现了一些不同的代码来获取游标信息并将其保存到IntPtr中,但是我不确定如何保存并在更改时进行比较。
public void getCursor()
{
IntPtr hwndic = new IntPtr();
Win32.CURSORINFO curin = new Win32.CURSORINFO();
curin.cbSize = Marshal.SizeOf(curin);
if (Win32.GetCursorInfo(out curin))
{
if (curin.flags == Win32.CURSOR_SHOWING)
{
hwndic = Win32.CopyIcon(curin.hCursor);
}
}
}
我在网上找到了捕获当前光标的代码,但我不确定如何使用它来经常检查光标,如果它发生更改,则可以执行一些代码。该游戏当然具有自定义光标,所以我不能只监视任何默认光标等。
我实际上是在使用代码
GetCursorState().ToString()
要获取游标ID并仅监视我要查找的游标ID,但似乎游标ID可以在系统重新启动时发生更改,或者游戏可能会更改ID,或者系统中的某些内容会使ID发生更改。所以这是不可行的,因为ID可以更改我的身份。
我也不介意这样做,因为它需要获取鼠标光标的快照并比较光标直到其变化,然后再执行一些操作,但是我还没有找到适合我情况的代码。我一直在寻找代码来做到这一点,但没有好运。我已经尝试了几乎所有东西。
所有帮助将不胜感激,谢谢!