c # — Является ли user32.dll & quot; WinApi & quot; MSDN говорит о?

В следующем коде

using System.Runtime.InteropServices;
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);

Я погуглил функцию «mouse_event» user32.dll и получил этот.
Импортирует ли user32.dll эквивалент ссылки на Win32 API, сделать указанную документацию действительным ресурсом для информации о других функциях и их параметрах? И почему «user32.dll» в «c #» будет содержать имена функций того, что последовательно называется «WINAPI» или «WIN32»?

0

Решение

Microsoft называет «Win32 API» интерфейсом операционной системы Windows. Любое взаимодействие с ОС (создание окон, открытие файлов, доступ к сети и т. Д.) Должно проходить через любой из этих хорошо документированных вызовов функций. Многие функции C # находятся за кулисами на самом деле реализации оболочки для этих функций операционной системы. Некоторые из более специфических методов не имеют эквивалентов C #, и вы можете использовать код в качестве того, который вы представили (используя атрибут [DllImport]) для доступа к ним в любом случае.

Win32 API по старым причинам в основном состоит из трех файлов: kernel32.dll (файл io / synchronisations), gdi32.dll (пользовательский интерфейс) и user32.dll (дополнительный пользовательский интерфейс). Эти три библиотеки включают почти все функции, которые составляют этот API. Другие библиотеки были добавлены с течением времени и используются для определенных целей.

(Примечание. Сами библиотеки DLL больше ничего не делают. В современных реализациях они просто обертывают другие библиотеки, но с точки зрения приложения это не имеет значения)

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]