C# GetWindowRect 获取窗体在屏幕中的位置信息

利用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结构的指针,该结构接收窗口的左上角和右下角的屏幕坐标。

 

posted on 2020-12-24 20:07  云梦鸿  阅读(2728)  评论(0编辑  收藏  举报