当前位置:  开发笔记 > 编程语言 > 正文

找到窗口高度和宽度

如何解决《找到窗口高度和宽度》经验,为你挑选了1个好方法。

如何找到聚焦窗口高度和宽度..

它可能是任何Windows窗口,如记事本,mspaint等...我可以借助此代码获得焦点窗口

[DllImport("user32")] 
public static extern IntPtr GetForegroundWindow();

嗨f3lix它正在工作,但它的返回值只取决于位置..如果我改变位置它返回一些其他值

Kunal它的返回错误信息....就像没有设置对象参考



1> f3lix..:

我认为你必须通过PInvoke使用user32.dll函数.我不确定,但我会这样做:

[DllImport("user32.dll")]
static extern IntPtr GetForegroundWindow();

[DllImport("user32.dll", SetLastError = true)]
static extern bool GetWindowRect(IntPtr hWnd, out Rectangle lpRect); 


Rectangle rect = new Rectangle();
GetWindowRect(GetForegroundWindow(), out rect);

注意:我没有尝试此代码,因为我目前不在Windows上工作...

编辑: Rory向我指出(见注释)我们不能在这里使用标准的Rectangle,我们需要定义自己的RECT.

[StructLayout(LayoutKind.Sequential)]
public struct RECT {
    public int Left;
    public int Top;
    public int Right;
    public int Bottom;
}

不要忘记在第一段代码中用RECT替换Rectangle.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有