Jaka jest różnica między użytecznością DllImport tutaj? W szczególności, czy "user32" oznacza po prostu "user32.dll", czy to znaczy "user32.lib" czy coś innego?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);
Prawdopodobnie możesz zignorować CharSet i CallingConvention.
Jeśli są takie same, mogę przepisać to, aby było bardziej spójne, ale jeśli nie, nie chcę mieć z tym problemów.
[Tutaj jest strona MSDN na konstruktorze] (http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.dllimportattribute.aspx) w celach informacyjnych. – Guvante
Odpowiednią dokumentacją jest dokumentacja [LoadLibrary] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms684175 (v = vs.85) .aspx). * Jeśli ciąg znaków określa nazwę modułu bez ścieżki, a rozszerzenie nazwy pliku zostanie pominięte, funkcja doda domyślne rozszerzenie biblioteki .dll do nazwy modułu. Aby uniemożliwić dodanie funkcji .dll do nazwy modułu, należy dodać znak końca kropki (.) W łańcuchu nazwy modułu. * –