Ale*_*ang 8 c# pinvoke winapi interop external
我想将我正在使用的Windows API函数的所有签名放在一个类中的程序中,例如WinAPI,以及我将包含在我的项目中的WinAPI.cs文件中.该类将是内部静态和方法public static extern.(类似.NET Framework源代码中的巨大NativeMethods.cs).
假设WinAPI.cs有一百个本地方法签名,如:
[DllImport("user32.dll")]
internal static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
Run Code Online (Sandbox Code Playgroud)
如果我只在项目中使用其中一些(甚至一两个),如果我在项目中包含WinAPI.cs文件,那么最终的.exe是否会填充不必要的方法声明我不是使用(其他99左右)?
原生结构声明如何,如果我没有在当前项目中使用它们,它们是否仍会包含在最终的.exe中?
[StructLayout(LayoutKind.Sequential)]
public struct POINT
{
public int X;
public int Y;
}
Run Code Online (Sandbox Code Playgroud)那些常量声明或只读成员如:
public const int WH_JOURNALPLAYBACK = 1;
public static readonly int WM_GETTEXT = 0x0D;
Run Code Online (Sandbox Code Playgroud)