mfc主程序怎么调用dll里面的对话框

如题所述

什么是调用对话框?是否只是显示?
如果是显示的话有两种办法了:
1。把对话框类从dll中导出。
2。从dll中导出函数,在该函数中显示对话框。

因为对话框涉及资源句柄等模块状态的切换,所以一般采用第二种。第二种只需要在导出的函数中增加: AFX_MANAGE_STATE(AfxGetStaticModuleState()) ,而第一种需要将对话框类的每个用到资源的成员函数都加上这句话。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-15
char buff[1024];
char buff2[1024];

buff[0]=0;
buff2[0]=0;

typedef int (WINAPI ICEPUB_GETLOGININFO)(char *strUserId,char *strPassWord,char *strTitle);
ICEPUB_GETLOGININFO *icePub_getLoginInfo = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_getLoginInfo=(ICEPUB_GETLOGININFO*)GetProcAddress(hDLLDrv, "icePub_getLoginInfo");
}
if(icePub_dispText)
icePub_getLoginInfo(buff,buff2,"请输入登录信息");
if(hDLLDrv)
FreeLibrary(hDLLDrv);

if(strcmp(buff,"admin") == 0 && strcmp(buff2,"888888") == 0)
{
//登录成功
}本回答被网友采纳

mfc主程序怎么调用dll里面的对话框
1。把对话框类从dll中导出。2。从dll中导出函数,在该函数中显示对话框。因为对话框涉及资源句柄等模块状态的切换,所以一般采用第二种。第二种只需要在导出的函数中增加:AFX_MANAGE_STATE(AfxGetStaticModuleState()) ,而第一种需要将对话框类的每个用到资源的成员函数都加上这句话。

MFC如何调用DLL(VC++)
);\/\/执行成功,返回函数地址。\/\/现在才是你需要注意的地方,比如你dll中有一个show函数是显示对话框的,你就根据上面第2步传show参数得到的函数地址,通过函数指针直接调用就可以显示了。3.卸载动态库 BOOL FreeLibrary(HMODULE hLibModule \/\/ 动态库实例句柄 );...

MFC DLL导出对话框问题
把AFX_MANAGE_STATE(AfxGetStaticModuleState());去掉试试,你用的是不是MFC扩展类型的DLL。

如何显示DLL中对话框资源 100Intellect
在任何地方调用不同的对话框只需要提供不同的ID即可,就像这样: push 101 push hWnd push DLL_HANDLE call [LoadDialog] 这样做,不仅DLL中的回调函数不需要引出,在主程序中使用时也比每次读回调函数地址方便得多>EXE为Release、DLL为Debug时,就会出错 咳咳,扩展DLL里面Release和Debu...

怎样在MFC中调用C#编写的DLL
1、打开项目属性对话框,方法是右键单击解决方案资源管理器中的项目并选择属性。2、展开配置属性旁边的节点并选择常规。在右侧窗格中的项目默认值下,将公共语言运行库支持设置为公共语言运行库支持 (\/clr)。3、在相同的窗格中,确保将MFC 的使用设置为在共享 DLL 中使用 MFC。4、在配置属性下,展开C\/...

MFC 调用DLL 时弹出窗口,如何屏蔽窗口
你尝试着用extern"C"前缀来导出,保证其函数名不被修饰。怎么看导出函数?dll文件用Dependencywalker,lib文件用dumpbin,这两个工具都是微软的,其中dumpbin是VS自带的,在VC\\Bin目录中。当然,另外还可以用def文件来定义导出函数,这样你程序中的函数前就不需要加导出符了。

怎么让MFC初始运行时候显示不同的对话框
如果你的是 MFC基于对话框的工程,在工程 .cpp中可以控制对话框出现的先后顺序。例如:ifdef _AFXDLL Enable3dControls();\/\/ Call this when using MFC in a shared DLL else Enable3dControlsStatic();\/\/ Call this when linking to MFC statically endif 【这个地方可以添加其他的对话框,顺序执行...

MFC如何调用DLL中的类,例子:
\/**1、先用mfc向导生成静态dll文件。2、编辑增加类;3、生成dll文件和lib文件;4、将生成的dll和lib,和类的头文件复制到需要引用的文*件exe下;\/\/\/导出dll的头文件myClass.h#define DLLimport __declspec(dllimport)#define DLLexprot __declspec(dllexport)class DLLexprot myClass \/\/导出类{...

DLL里边创建一对话框失败,该怎么解决
1、第一步创建一“MFC AppWizard (dll)”工程,接下来选择“Regular Dll using shared MFC DLL”,点击“Finish”。2、添加一对话框资源到工程中,从菜单中选择Insert->Resource,添加一“Dialog”选择“New”,至此对话框已添加到DLL工程中。3、为对话框添加一新类,如:CTest,基类为CDialog。4、在...

请教高手,有关动态链接库DLL导出和调用对话框类的问题!
需要先调用AfxSetResourceHandle函数,将当前的资源句柄设置为DLL的Instance,显示完对话框后,再设置回应用程序的Instance。像你这种使用,为啥不用MFC 扩展DLL?这种DLL可以将DLL和应用程序的资源合并,缺点正好和规则DLL相反,就是要规划好资源符号的数值,不可冲突。

相似回答
大家正在搜