我需要制作一个小型系统托盘应用程序来监视系统范围内的光标位置,并根据光标句柄 ID 显示或隐藏屏幕键盘。例如,如果光标在 IE 中的文本框(位置等于 IBeam)中,则弹出键盘。我有系统托盘应用程序(无格式应用程序)的代码,但找不到让它监视系统的方法。任何有关监视系统光标位置的功能的帮助都将受到欢迎。谢谢。
问问题
331 次
2 回答
0
要成为事件驱动的,您需要使用SetWindowsHookEx
. 您不能直接通过 .NET 执行此操作,而必须注入 DLL。这是关于制作鼠标钩的 MSDN 文章。这是通过System.Runtime.InteropServices
导入 user32.dll 来完成的。MSDN 文章提供了有关从 C#调用SetWindowsHookEx
、 CallNextHookEx
和的分步说明。UnhookWindowsHookEx
CodeProject 还有一篇关于在 .NET 中制作系统范围的钩子的文章。
于 2013-09-18T13:27:37.530 回答
0
监控系统光标位置:
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();
}
于 2013-09-18T13:35:20.837 回答