ここでのDllImportの使用法の違いは何ですか?具体的には、「user32」は単に「user32.dll」を意味するのでしょうか、それとも「user32.lib」などを意味するのでしょうか。
[DllImport("user32")]
protected static extern int GetKeyboardState(byte[] pbKeyState);
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
protected static extern short GetKeyState(int vKey);
おそらく、CharSetとCallingConventionは無視してかまいません。
それらが同じである場合、私はこれをより一貫性のあるものに書き直すことができますが、そうでない場合、私はそれにたくさんの問題を抱えたくありません。