要获取组合框的下拉矩形,可以执行以下操作:
首先,声明
RECT
[StructLayout(LayoutKind.Sequential)]
public struct RECT
{
public int Left;
public int Top;
public int Right;
public int Bottom;
}
long
,但我测试了它,出于某种奇怪的原因
SendMessage
答案为
int
第二,正确的
发送消息
声明:对于这种特殊情况,您现在可以使用
ref RECT
参数请注意,在您的版本中存在错误:
hWnd
需要成为
IntPtr
wParam
只是
整数
而不是
[DllImport("user32.dll")]
public static extern int SendMessage(
IntPtr hWnd, // handle to destination window (combobox in this case)
int Msg, // message
int wParam, // first message parameter
ref RECT lParam // second message parameter
);
第三,用法:
RECT rect = default;
int result = SendMessage(comboBox1.Handle, 0x0152, 1, ref rect);
comboBox1
当然是你的组合框。如果
result
rect