В чем разница между использованием DllImport здесь? В частности, «user32» означает «user32.dll», или это означает «user32.lib» или что-то еще?DllImport user32 vs user32.dll
[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.
Если они такие же, я могу переписать это, чтобы быть более последовательным, но если нет, я не хочу иметь с ним множество проблем.
[Здесь находится страница MSDN на конструкторе] (http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.dllimportattribute.aspx) для справки. – Guvante
Соответствующая документация предназначена для [LoadLibrary] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms684175 (v = vs.85) .aspx). * Если строка указывает имя модуля без пути, а расширение имени файла опущено, функция добавляет расширение DLL библиотеки DLL к имени модуля. Чтобы предотвратить добавление функции .dll в имя модуля, добавьте символ строки (.) В строку имени модуля. * –