別の関数名でWindows API をインポートする (DLLで定義された関数名と異なる関数名でDLLからインポートする) - C#
Windows APIの関数名と別の関数名でWindows APIをインポートしたいことがあります。この記事では別名でDLLから関数をインポートする方法を紹介します。
方法
別名でDLLから関数をインポートするには DllImport に名前付き引数で"EntryPoint"を指定します。
コード例
通常のインポートの例
MessageBox Windows APIをインポートします。
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern MessageBoxResult MessageBox(
IntPtr hWnd, String text, String caption, int options);
別の名前でインポートする場合の例
MessageBox Windows APIをWinAPI_MBという名前でインポートします。
[DllImport("user32.dll", CharSet = CharSet.Auto、EntryPoint="MessageBox")]
public static extern MessageBoxResult WinAPI_MB(
IntPtr hWnd, String text, String caption, int options);
EntryPointにDLLで定義されている関数名を指定することで、別名でDLLの関数をインポートできます。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用