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
  • 相关阅读:
    [转载]备忘:oh my zsh 的安装、更新、删除
    【转载】fedora22和win10之间的文件共享互访
    python3.7[列表] 索引切片
    注册科创版 等待生效中 测评 投资
    谷歌镜像-20190627
    debian静态地址网络配置方法
    latex高速新手教程
    Java知识点解析
    【Linux 操作系统】Ubuntu 配置 ftp freemind adb
    vs2012设置默认的全局include和lib
  • 原文地址:https://www.cnblogs.com/swtool/p/6546937.html
Copyright © 2011-2022 走看看