如何为 .NET 程序集(class 库)获取本机 HMODULE?
How to get native HMODULE for .NET assembly (class library)?
我想使用本机 API,它可以接受 HMODULE
作为输入参数。
有没有办法让 HMODULE
执行汇编?
我知道 Module.ModuleHandle
但不知道如何将 ModuleHandle
转换为 HMODULE
。
像这样:
// convert somehow
var hModule = Assembly.GetExecutingAssembly().ManifestModule.ModuleHandle;
// call native API
这是 Windows 平台相关的代码,因此,如果需要,可以使用特定平台 APIs。
由于 .NET 程序集也是常规 Windows DLL,您应该能够调用本机函数 GetModuleHandle()。如果不是很明显,您可以从调试 运行 的输出中看到模块名称是什么。
我想使用本机 API,它可以接受 HMODULE
作为输入参数。
有没有办法让 HMODULE
执行汇编?
我知道 Module.ModuleHandle
但不知道如何将 ModuleHandle
转换为 HMODULE
。
像这样:
// convert somehow
var hModule = Assembly.GetExecutingAssembly().ManifestModule.ModuleHandle;
// call native API
这是 Windows 平台相关的代码,因此,如果需要,可以使用特定平台 APIs。
由于 .NET 程序集也是常规 Windows DLL,您应该能够调用本机函数 GetModuleHandle()。如果不是很明显,您可以从调试 运行 的输出中看到模块名称是什么。