使用Windows API方法签名,结构,常量的Big C#源文件:它们是否都包含在最终的.exe中?

前端之家收集整理的这篇文章主要介绍了使用Windows API方法签名,结构,常量的Big C#源文件:它们是否都包含在最终的.exe中?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将我正在使用的 Windows API函数的所有签名放在一个类中的程序中,例如WinAPI,以及我将包含在我的项目中的WinAPI.cs文件中.该类将是内部静态和方法public static extern. (类似.NET Framework源代码中的巨大NativeMethods.cs).

假设WinAPI.cs有一百个本地方法签名,如:

  1. [DllImport("user32.dll")]
  2. internal static extern bool ShowWindow(IntPtr hWnd,int nCmdShow);

>如果我只在一个项目中使用它们中的一些(甚至一两个),如果我在项目中包含WinAPI.cs文件,最终的.exe将填充不必要的方法声明我是不使用(其他99左右)?
>本机结构声明如何,如果我在当前项目中没有使用它们,它们是否仍会包含在最终的.exe中?

  1. [StructLayout(LayoutKind.Sequential)]
  2. public struct POINT
  3. {
  4. public int X;
  5. public int Y;
  6. }

>常量声明或只读成员如何:

  1. public const int WH_JOURNALPLAYBACK = 1;
  2. public static readonly int WM_GETTEXT = 0x0D;
所有这些都将包括在内.但是,它将作为IL包含在内,当程序运行时,它只是编译的机器代码.我们说的最多可能是40K的空间.

猜你在找的Windows相关文章