mfc程序只运行一个实例
来源:互联网 发布:中国软件上海分公司 编辑:程序博客网 时间:2024/05/16 07:59
有时候我们希望程序只被启动运行一个实例,步骤如下:
1.新建一个dialog(本例test.exe):
在test.cpp的InitInstance()方法中,添加一个判断:
// CtestApp 初始化BOOL CtestApp::InitInstance(){HANDLE hSem = CreateSemaphore(NULL, 1,1, m_pszExeName);if(GetLastError() == ERROR_ALREADY_EXISTS) //程序已启动{CloseHandle(hSem);return FALSE;}// 如果一个运行在 Windows XP 上的应用程序清单指定要// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,//则需要 InitCommonControlsEx()。否则,将无法创建窗口。INITCOMMONCONTROLSEX InitCtrls;InitCtrls.dwSize = sizeof(InitCtrls);// 将它设置为包括所有要在应用程序中使用的// 公共控件类。InitCtrls.dwICC = ICC_WIN95_CLASSES;InitCommonControlsEx(&InitCtrls);CWinApp::InitInstance();AfxEnableControlContainer();// 标准初始化// 如果未使用这些功能并希望减小// 最终可执行文件的大小,则应移除下列// 不需要的特定初始化例程// 更改用于存储设置的注册表项// TODO: 应适当修改该字符串,// 例如修改为公司或组织名SetRegistryKey(_T("应用程序向导生成的本地应用程序"));CtestDlg dlg;m_pMainWnd = &dlg;INT_PTR nResponse = dlg.DoModal();if (nResponse == IDOK){// TODO: 在此放置处理何时用// “确定”来关闭对话框的代码}else if (nResponse == IDCANCEL){// TODO: 在此放置处理何时用// “取消”来关闭对话框的代码}// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,// 而不是启动应用程序的消息泵。return FALSE;}编译运行,该test.exe只可以运行一个实例。
0 0
- MFC程序只运行一个实例
- mfc程序只运行一个实例
- 让MFC程序只运行一个实例
- MFC 只运行一个实例
- MFC只运行一个实例
- 只运行一个程序实例
- 只运行一个实例程序
- 程序只运行一个实例
- 只运行一个程序实例
- 程序只运行一个实例
- 程序只运行一个实例
- 程序只运行一个实例
- mfc应用程序只运行一个实例
- MFC 对话框只允许一个实例运行
- MFC只运行一个实例窗口
- 一个程序只运行一个实例
- 如何让mfc程序只运行一个
- 程序只运行一个是实例
- STS(Eclipse)中配置hibernate连接Oracle数据库的方法详细描述
- 16进制字符串转换为10进制数字方法,负数的16进制需要BigInteger封装
- 移动端SEO的一些疑问
- oracle 自联接
- 自动对焦
- mfc程序只运行一个实例
- ubuntu 12.04 安装Rstudio-server
- linux 2.6内核较2.4内核中网络的改进分析
- IOS---Unix基本指令
- Stanford机器学习---第四讲. 神经网络的表示 Neural Networks representation
- 学习笔记-轻量级Java EE:模式--工厂方法和抽象工厂
- android自定义Application全局变量不能类型转换的问题
- SSDB:高性能数据库服务器
- 翻译程序和解释程序的区别