zoukankan      html  css  js  c++  java
  • 光标跟随

           #region 得到光标在屏幕上的位置
     
            [DllImport("user32")]
     
             public static extern bool GetCaretPos(out Point lpPoint);
     
             [DllImport("user32.dll")]
     
             private static extern IntPtr GetForegroundWindow();
     
             [DllImport("user32.dll")]
     
             private static extern IntPtr GetFocus();
     
             [DllImport("user32.dll")]
     
             private static extern IntPtr AttachThreadInput(IntPtr idAttach, IntPtr idAttachTo, int fAttach);
     
             [DllImport("user32.dll")]
     
             private static extern IntPtr GetWindowThreadProcessId(IntPtr hWnd, IntPtr ProcessId);
     
             [DllImport("kernel32.dll")]
     
             private static extern IntPtr GetCurrentThreadId();
     
             [DllImport("user32.dll")]
     
             private static extern void ClientToScreen(IntPtr hWnd, ref Point p);
     
     
             private Point CaretPos()
     
             {
     
                 IntPtr ptr = GetForegroundWindow();
     
                 Point p = new Point();
     
     
                 //得到Caret在屏幕上的位置   
     
                 if (ptr.ToInt32() != 0)
     
                 {
     
                     IntPtr targetThreadID = GetWindowThreadProcessId(ptr, IntPtr.Zero);
     
                     IntPtr localThreadID = GetCurrentThreadId();
     
     
                     if (localThreadID != targetThreadID)
     
                     {
     
                         AttachThreadInput(localThreadID, targetThreadID, 1);
     
                         ptr = GetFocus();
     
                         if (ptr.ToInt32() != 0)
     
                         {
     
                             GetCaretPos(out   p);
     
                             ClientToScreen(ptr, ref   p);
     
                         }
     
                         AttachThreadInput(localThreadID, targetThreadID, 0);
     
                     }
     
                 }
     
                 return p;
     
             }
     
             #endregion
  • 相关阅读:
    菜单、toast、对话框的使用
    对话框应用反射销毁
    java随机汉字生成
    Android从主界面退出
    Android获取网络状态
    ssh secure shell 乱码问题
    MongDB安装使用
    安装scrapy
    列表查找以及二分查找
    Tuple、list的区别以及dict和set
  • 原文地址:https://www.cnblogs.com/swtool/p/6546937.html
Copyright © 2011-2022 走看看