利用Win332的API:
bool GetWindowRect(IntPtr hWnd, ref RECT_INFO lpRect);
獲取指定窗體或控件,在屏幕內地位置信息。
using System; using System.Runtime.InteropServices; namespace StudySln { public class Win32API { /// <summary> /// 獲取指定窗口(或控件)在屏幕中的位置信息 (左邊界,上邊界,右邊界,下邊界) /// </summary> /// <param name="hWnd"></param> /// <param name="lpRect"></param> /// <returns></returns> [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] public extern static bool GetWindowRect(IntPtr hWnd, ref RECT_INFO lpRect); } /// <summary> /// 矩形范圍信息(結構體) /// </summary> [StructLayout(LayoutKind.Sequential)] public struct RECT_INFO { /// <summary> /// 當前矩形范圍的最左邊界 /// </summary> public int Left; /// <summary> /// 當前矩形的最上邊界 /// </summary> public int Top; /// <summary> /// 當前矩形的最右邊界 /// </summary> public int Right; /// <summary> /// 當前矩形的最下邊界 /// </summary> public int Bottom; } }
hWnd:窗口句柄,也可以傳遞一個控件的Handle值。
lpRect:指向一個RECT結構的指針,該結構接收窗口的左上角和右下角的屏幕坐標。