使用DllImport属性导入的函数的参数

时间:2017-03-02 07:13:24

标签: c# c++ wpf

我正在尝试将一些winapi函数导入到我的wpf项目中(用c#编写)但我不知道如何转换"他们的一些参数,例如函数

BOOL WINAPI GetClientRect(
  _In_  HWND   hWnd,
  _Out_ LPRECT lpRect
);

获取指向RECT结构的指针并修改其内容。如果我使用DllImport属性导入此函数,它将如下所示:

[DllImport("user32.dll"]
public static extern bool GetClientRect(IntPtr hwnd, ???);

如何处理指向RECT对象的指针?

1 个答案:

答案 0 :(得分:0)

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

[DllImport("user32.dll")]
static extern bool GetClientRect(IntPtr hWnd, out RECT lpRect);