HiddenImports
Библиотека для скрытого вызова Windows API функций на C#, преимущественно на C#
Для использования вам достаточно добавить файл HiddenImportsUtil.cs
в свой проект.
Для вызова функции из скрытой DLL-библиотеки, следуйте следующим шагам:
- Создайте делегат, соответствующий сигнатуре вызываемой функции.
public delegate int MyMessageBoxDelegate(IntPtr hWnd, string lpText, string lpCaption, uint uType);
- Объявите оригинальную функцию из Windows API
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
private static extern int MessageBoxW(IntPtr hWnd, string lpText, string lpCaption, uint uType);
- Вызовите функцию с помощью метода
Call
, передав название DLL-библиотеки, название функции, созданный делегат и параметры.
var MessageBoxAv = HiddenImportsUtil.Call("user32.dll", "MessageBoxA",
new MyMessageBoxDelegate(MessageBoxW),
IntPtr.Zero, "Hello", "Message", 0u);
- Вы можете получить результат выполнения функции с помощью обращения к переменной.
Console.WriteLine("MessageBoxA result: {0}", MessageBoxAv);
С другими примерами вы можете познакомится в файле Examples.cs
.