首页 > 学院 > 开发设计 > 正文

Api代码收集

2019-11-17 03:09:17
字体:
来源:转载
供稿:网友

Api代码收集

收集自网络,方便自己,方便他人

 1     #region 隐藏系统滚动条 2     PRotected override void WndProc(ref System.Windows.Forms.Message m) 3     { 4       ShowScrollBar(this.Handle, 3, false);//0:horizontal,1:vertical,3:both 5       base.WndProc(ref m); 6     } 7  8     [DllImport("user32.dll")] 9     [return: MarshalAs(UnmanagedType.Bool)]10     private static extern bool ShowScrollBar(IntPtr hWnd, int wBar, bool bShow);11     #endregion

 1     #region 得到光标在屏幕上的位置 2    [DllImport("user32")] 3     public static extern bool GetCaretPos(out Point lpPoint); 4     [DllImport("user32.dll")] 5     private static extern IntPtr GetForegroundWindow(); 6     [DllImport("user32.dll")] 7     private static extern IntPtr GetFocus(); 8     [DllImport("user32.dll")] 9     private static extern IntPtr AttachThreadInput(IntPtr idAttach, IntPtr idAttachTo, int fAttach);10     [DllImport("user32.dll")]11     private static extern IntPtr GetWindowThreadProcessId(IntPtr hWnd, IntPtr ProcessId);12     [DllImport("kernel32.dll")]13     private static extern IntPtr GetCurrentThreadId();14     [DllImport("user32.dll")]15     private static extern void ClientToScreen(IntPtr hWnd, ref Point p);16 17     private Point CaretPos()18     {19         IntPtr ptr = GetForegroundWindow();20         Point p = new Point();21 22         //得到Caret在屏幕上的位置   23       if (ptr.ToInt32() != 0)24         {25             IntPtr targetThreadID = GetWindowThreadProcessId(ptr, IntPtr.Zero);26             IntPtr localThreadID = GetCurrentThreadId();27 28             if (localThreadID != targetThreadID)29             {30                 AttachThreadInput(localThreadID, targetThreadID, 1);31                 ptr = GetFocus();32                 if (ptr.ToInt32() != 0)33                 {34                     GetCaretPos(out   p);35                     ClientToScreen(ptr, ref   p);36                 }37                 AttachThreadInput(localThreadID, targetThreadID, 0);38             }39         }40         return p;41     }42     #endregion

 1 //如何在全屏时notifyIcon依然能够弹出ShowBalloonTip 2 [DllImport("user32.dll",EntryPoint = "GetForegroundWindow", CharSet = CharSet.Auto, ExactSpelling = true)] 3 public static extern IntPtr GetForegroundWindow(); //获得本窗体的句柄 4 [DllImport("user32.dll", EntryPoint = "SetForegroundWindow")] 5 public static extern bool SetForegroundWindow(IntPtr hWnd);//设置此窗体为活动窗体 6  7 if (this.Handle != GetForegroundWindow()) 8 { 9     SetForegroundWindow(this.Handle);10     notifyIcon1.ShowBalloonTip(1500,"注意注意","XXXXXXX!",ToolTipIcon.Warning);11 }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表