问题描述
- windows api 通过句柄获取控件在窗口的坐标问题?
-
NativeRECT sRECT = new NativeRECT();
//get 屏幕 RECT
GetWindowRect(hWnd, out sRECT);
问题1:该方法有时获去到的值是负数 ? 求解答?ScreenToClient(hWnd, ref xx); 问题2:该方法获取到的值 一直是0 //结构体布局 本机位置
[StructLayout(LayoutKind.Sequential)]
public struct NativeRECT
{
public int left;
public int top;
public int right;
public int bottom;
}
解决方案
看你的nativerect怎么定义的,和C++的结构体签名、顺序是否一致。
解决方案二:
public struct RECT
{
public int Left;
public int Top;
public int Right;
public int Bottom;
}
//结构体布局 本机位置
[StructLayout(LayoutKind.Sequential)]
public struct NativeRECT
{
public int left;
public int top;
public int right;
public int bottom;
}
时间: 2024-09-24 07:39:01