c# 获取当前活动窗口句柄,获取窗口大小及位置
生活随笔
收集整理的這篇文章主要介紹了
c# 获取当前活动窗口句柄,获取窗口大小及位置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
需調用API函數 需在開頭引入命名空間 using System.Runtime.InteropServices; 獲取當前窗口句柄:GetForegroundWindow() [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] public static extern IntPtr GetForegroundWindow(); 返回值類型是IntPtr,即為當前獲得焦點窗口的句柄 使用方法 : IntPtr myPtr=GetForegroundWindow(); 獲取到該窗口句柄后,可以對該窗口進行操作.比如,關閉該窗口或在該窗口隱藏后,使其顯示 [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] public static extern int ShowWindow(IntPtr hwnd, int nCmdShow); 其中ShowWindow(IntPtr hwnd, int nCmdShow); nCmdShow的含義 0 關閉窗口 1 正常大小顯示窗口 2 最小化窗口 3 最大化窗口 使用實例: ShowWindow(myPtr, 0); 獲取窗口大小及位置:需要調用方法GetWindowRect(IntPtr hWnd, ref RECT lpRect) [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool GetWindowRect(IntPtr hWnd, ref RECT lpRect); [StructLayout(LayoutKind.Sequential)] public struct RECT { public int Left; //最左坐標 public int Top; //最上坐標 public int Right; //最右坐標 public int Bottom; //最下坐標 } 示例: InPtr awin = GetForegroundWindow(); //獲取當前窗口句柄 RECT rect = new RECT(); GetWindowRect(awin, ref rect); int width = rc.Right - rc.Left; //窗口的寬度 int height = rc.Bottom - rc.Top; //窗口的高度 int x = rc.Left; int y = rc.Top;轉載于:https://my.oschina.net/bv10000/blog/88895
總結
以上是生活随笔為你收集整理的c# 获取当前活动窗口句柄,获取窗口大小及位置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html5 报表
- 下一篇: C# 文件操作详解(一)--------