标签列表
获取没有边框的进程窗口大小
c#
winapi
3
3
使用WinApi的GetWindowRect()函数可以返回完整的窗口大小,但我想获取没有边框和标题栏的大小,就像红色方框所示。是否有相应的函数可以实现这个功能呢?谢谢。
-
Kyore
1
个回答
6
6
你需要的Windows API函数是
GetClientRect
。如果随后需要将这些坐标转换为屏幕相关坐标,请调用
ClientToScreen
。
-
David Heffernan
5
我尝试调用ClientToScreen函数,但它返回一个Point类型,我需要获取Rect的值,以便查看其相对于顶部/底部/右侧/左侧的坐标。GetClientRect函数只返回高度和宽度,而不是真正的Rect。
- Kyore
一个矩形由两个点定义,即左上角和右下角。对于客户区矩形,左上角始终为(0,0)。调用“ClientToScreen”函数两次,分别针对定义矩形的这两个点,即可得到屏幕坐标系中定义矩形的两个点。
- David Heffernan
所以基本上我需要计算值并设置一个矩形来使用吗?ClientToScreen返回一个疯狂的值,比如X=1.18831764296032E-312和Y=0,窗口句柄是正确的,因为它已经在其他正常工作的函数中使用过了,我应该采取不同的方法来使用ClientToScreen获取那个点吗?
- Kyore
你的代码显然有误。坐标是整数,这里不应该有浮点值。
- David Heffernan
是的,我的错,我创建了一个Windows.Point而不是Drawing.Point。无论如何,它返回左上角,但是我怎么才能得到右下角呢?调用两次ClientToScreen只会使我的点值增加2倍。
- Kyore
回答链接
网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接
相关问题
9
如何创建一个没有边框且可调整大小的WPF窗口?
24
创建一个没有标题栏、有可调整大小边框且没有虚假的6像素白条的窗口。
3
如何获取任何特定进程窗口大小?
9
获取窗口大小
10
使用Python获取其他运行进程的窗口大小
16
调整无边框窗口右下角大小
10
WPF 无边框窗口调整大小
18
移动没有边框的窗口
6
调整 WPF 无边框窗口大小
5
Qt/Windows,可调整大小的无边框窗口。