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
  • 相关阅读:
    关于系统中账号注册登录的一些想法
    关于Data URLs svg图片显示出错和浏览器URL hash #
    我的Spring Boot学习记录(一):自动配置的大致调用过程
    Java工具类——通过配置XML验证Map
    关于HTTPS的简要内容
    Effective Java目录
    Java 初始化a=2 打印a+++a++为5
    Spring SpringMVC MyBatis配置笔记
    Debian8 部署 laravel 5.3 (php7.0 + nginx)
    Intellij idea配置springMvc4.2.6
  • 原文地址:https://www.cnblogs.com/swtool/p/6546937.html
Copyright © 2011-2022 走看看