我想用C和SDK写一个DLL,给这个DLL加入一个对话框资源。
然后在DLL的接口中提供一个函数,当外界调用这个函数时,
由这个函数寻找那个对话框资源,然后弹出对话框。
在这个函数里,我用CreateBox方法弹出对话框。
但对话框始终不能出来。
用debug看到错误码是1814,MSDN说是:
The specified resource name cannot be found in the image file.
我该怎么办???
然后在DLL的接口中提供一个函数,当外界调用这个函数时,
由这个函数寻找那个对话框资源,然后弹出对话框。
在这个函数里,我用CreateBox方法弹出对话框。
但对话框始终不能出来。
用debug看到错误码是1814,MSDN说是:
The specified resource name cannot be found in the image file.
我该怎么办???
解决方案 »
- InitInstance函数中对话框的问题//这段代码的作用可以用this指针调用对话框类的成员函数?这个this指针可以同时,被多个线程使用吗?
- 关于DrawText显示文本
- 如何练习VC编程??
- 想去服务器验证用户名密码,有大虾有相关资料么
- 我怎么捕获CString.Mid 由于字符串长度不够出的错误
- 在多文档工程中,怎么重载OnFileOpen()函数?
- 请教一个问题
- 通过按Tab键可以使光标依次出现在一系列的Edit Box中,从而加快输入速度,然而光标所经历的Edit Box的顺序不是自己想要的(按从上到下,
- vc数据库编程(odbc)
- 关于动态生成菜单
- 搜遍GOOGLE没找到的.
- 能否根据url找到临时文件中得html文件?
HINSTANCE hInstance, // handle to application instance
LPCTSTR lpTemplate, // identifies dialog box template
HWND hWndParent, // handle to owner window
DLGPROC lpDialogFunc // pointer to dialog box procedure
);
hInstance 需要使用包含资源的 hInstance.
如果对话框资源在 dll 中,那么这个就是 dll 的 hInstance.
DialogBox (NULL, "IDD_DIALOG", NULL, NULL);
第一个NULL是因为我不知道如何取得DLL的句柄,
"IDD_DIALOG"是DLL工程里加入的对话框资源的ID,
第二个NULL是因为这个对话框没有父窗口,
第三个NULL是对话框的消息处理函数,还没有写,所以暂时用NULL代替。我不知道这四个参数用的对不对,但是在普通的SDK程序里这样用可以调出对话框。
到了DLL里就调不出来了,真急人!
DWORD fdwReason, // reason called
LPVOID lpvReserved) // reserved第一个参数就是DLL句柄 !资源名称没有找到!!
看看的的对话框资源ID是否是 "IDD_DIALOG" 注意ID要带";
如果没有带"
改为
DialogBox(hInst,(LPCSTR)IDD_DIALOG,NULL,DlgProc);