DllImportAttributeは、C++などで書かれた外部ライブラリ(DLL)のメソッドを宣言する時に付ける属性。
DllImportAttribute Class (System.Runtime.InteropServices) | Microsoft Docs
MessageBoxなど、ANSI関数とUnicode関数が別れている場合は、呼び出す関数によっては文字コードを指定しておかないと文字化けの可能性がある。
空のプロジェクトで、
MainClass.csを追加。
MessageBoxWを呼び出す。
MessageBox function (winuser.h) | Microsoft Docs
Unicode関数なので、CharSetにCharSet.Unicodeを指定。
hWndはIntPtrに、LPCWSTRはstringに、UINTはuintに。
MessageBoxWが表示される。
そして終了。