解决方案 »
- 请问SDK(纯Win32)有没有类似CRectTracker这样的类呢?
- 在按钮上贴图
- VC高手请进啊 100分
- 如果给你一个Process的PID或者Process Name,如何获取他的CommandLine?
- winxp sp2 下怎么安装 VS6.0 的 SP5啊?
- 刚学VC++,请大家帮忙
- 学VC都应该学些什么呢?
- 编译Release,在线等待,马上给分!
- 求教Win32 Application 与Win32 console Application区别?
- 有誰知道如何實現控件默認消息外的消息?
- CComBox 的AddString InsertString哪个效率高
- Winsock的gethostbyname函数 & gethostbyaddr函数
不是MFC写的DLL,纯C语言,没有dllmain的入口函数。
如果是DLL的资源,就用 DllMain 传入的句柄;
如果是EXE的资源,就用 GetModuleHandle(NULL) 获得句柄;
我的对话框模板是放在DLL资源里面的,这样是不是得不到HINSTANCE,因为单独的DLL没有实例的吧。感觉这个是应该从上层调用传下来的吧,如何得到调用DLL的上层的HINSTANCE?
hWnd = CreateDialog(lRes, IDD_DLG_INFO, NULL, NULL);
i = ShowWindow(hWnd, SW_SHOW); printf("\r\n hWnd = %X, SW = %d, Handle = %d", hWnd, i, lRes); 控制台输出的是: hWnd = 0, SW = 0, Handle = 20840448 还是不能生成窗口, hWnd是0.
UINT uMsg,
WPARAM wParam,
LPARAM lParam )
{
printf("\r\n hwnd:%d, msg:%d, wp:%d, lp:%d",hwndDlg, uMsg, wParam, lParam);
}
hWnd = CreateDialog(lRes, IDD_DLG_INFO, NULL, DialogProc);
ShowWindow(hWnd, SW_SHOW); DialogProc回调不成功,没有执行
如果你的资源是在 DLL 中而非 EXE 中,你就不应该用 GetModuleHandle 来获取资源句柄。