ana*_*and 16 winapi visual-c++
我在VC++中创建了一个DLL作为Win32项目
DLLMAIN函数是
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
Run Code Online (Sandbox Code Playgroud)
现在我需要DLL的HINSTANCE,需要传递给Win32函数.
HMODULE和HINSTANCE相同吗?
我怎样才能获得HINSTANCE?
Swi*_*iss 23
Windows Via C/C++ [1]一书的摘录
注意事实证明,HMODULE和HINSTANCE是完全相同的.如果函数的文档指示需要HMODULE,则可以传递HINSTANCE,反之亦然.有两种数据类型,因为在16位Windows HMODULE和HINSTANCE中识别出不同的东西
[1] Richter,Jeffery和Nasarre,Christophe,Windows Via C/C++,5th ed,Redmond:Microsoft Press 2008,pp.74
我认为这些都是一样的。如果您想要运行进程(exe)的实例,您应该使用
GetModuleHandle(NULL);
Run Code Online (Sandbox Code Playgroud)
特定于Microsoft链接器
#include "windows.h"
EXTERN_C IMAGE_DOS_HEADER __ImageBase;
#pragma warning(disable: 4047)
HINSTANCE hInstance = (HINSTANCE)&__ImageBase;
#pragma warning(default: 4047)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25427 次 |
| 最近记录: |