监视光标位置系统范围

时间:2013-09-18 13:23:13

标签: c# cursor monitoring

我需要制作一个小型系统托盘应用程序,它可以监视系统范围内的光标位置,并根据光标句柄ID显示或隐藏屏幕键盘。例如,如果光标位于IE中的文本框(位置等于IBeam),则弹出键盘。 我有系统托盘应用程序(无形应用程序)的代码,但无法找到一种方法来监视系统。任何有关监视系统光标位置的功能的帮助都是受欢迎的。感谢。

2 个答案:

答案 0 :(得分:0)

要成为事件驱动,您需要使用SetWindowsHookEx。你不能直接通过.NET来做,但必须注入一个DLL。这是一个MSDN article on making a mouse hook。这是使用System.Runtime.InteropServices导入user32.dll完成的。 MSDN文章提供了有关从C#调用SetWindowsHookExCallNextHookExUnhookWindowsHookEx的分步说明。 CodeProject还有一篇关于making system-wide hooks in .NET的文章。

答案 1 :(得分: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();
            }
相关问题