2017-03-02 103 views
0

我想进口一些WINAPI功能为我的WPF项目(C#编写的),但我不知道如何“转换”他们的一些PARAMATERS的,比如函数PARAMATERS进口使用DllImport属性

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

需要一个指向RECT结构的指针并修改其内容。如果我要使用DllImport属性导入此函数,它看起来像:

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

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

+2

有一个网站充满了pinvoke:http://www.pinvoke.net/default.aspx/user32.getclientrect。你有尝试过吗? RECT有一个定义。 – xanatos

+0

(注意,有时该网站是错误的:-)他们有一些问题,32位到64位) – xanatos

+0

也http://stackoverflow.com/questions/13086927/call-getclientrect-winapi – mpiatek

回答

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);