¿Cuál es la diferencia entre los usos de DllImport aquí? Específicamente, ¿significa "usuario32" "usuario32.dll", o significa "usuario32.lib" o algo más?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);
Probablemente pueda ignorar CharSet y CallingConvention.
Si son iguales, puedo reescribir esto para ser más consistente, pero si no, no quiero tener un montón de problemas con él.
[Aquí está la página de MSDN en el constructor] (http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.dllimportattribute.aspx) para referencia. – Guvante
La documentación relevante es la de [LoadLibrary] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms684175 (v = vs.85) .aspx). * Si la cadena especifica un nombre de módulo sin una ruta y se omite la extensión del nombre de archivo, la función agrega la extensión de biblioteca predeterminada .dll al nombre del módulo. Para evitar que la función agregue .dll al nombre del módulo, incluya un carácter de punto final (.) En la cadena del nombre del módulo. * –