监视系统范围的光标位置
本文关键字:光标 位置 范围 系统 监视 | 更新日期: 2023-09-27 18:31:52
>我需要制作一个小型的系统托盘应用程序,该应用程序监视整个系统的光标位置,并根据光标手柄ID显示或隐藏屏幕键盘。 例如,如果光标位于IE中的文本框(位置等于IBeam)中,则会弹出键盘。我有系统托盘应用程序(无形应用程序)的代码,但找不到使其监视系统的方法。欢迎任何有关监视系统光标位置的功能的帮助。谢谢。
监视系统光标位置:
private void Pos()
{
for (; ; )
{
Thread.Sleep(10);
Point position = Cursor.Position;
//You can use these to pass to your system tray or whereever you need it.
somePublicXVar = position.X;
somePublicYVar = position.Y;
}
}
public void PointPosition()
{
Thread pointThread = new Thread(new ThreadStart(Pos));
pointThread.Start();
}
要成为事件驱动型,您需要使用 SetWindowsHookEx
. 不能直接通过 .NET 执行此操作,但必须注入 DLL。 这是一篇关于制作鼠标钩子的 MSDN 文章。 这是使用 System.Runtime.InteropServices
导入 user32.dll 来完成的。 MSDN 文章提供了从 C# 调用SetWindowsHookEx
、CallNextHookEx
和UnhookWindowsHookEx
的分步说明。 CodeProject 还有一篇关于在 .NET 中创建系统范围的钩子的文章。