VC 对话框 只允许运行一个实例 ,如果有就激活到前端
来源:互联网 发布:centos 7.2怎么样 编辑:程序博客网 时间:2024/05/14 09:32
VC 对话框 只允许运行一个实例 ,如果有就激活到前端的实现方法如下:
1。就是在其APP的CPP实现中,定义函数BOOL COnceApp::IsFirstInstance(CString title),并在其函数BOOL COnceApp::InitInstance()中,调用if (!IsFirstInstance(onlyTitle))
2。 在其APP的CPP实现文件中,定义一个全局的标题标量,CString onlyTitle="你是我的唯一";
声明标题只是为了后续实例查找激活到前端使用,对于方法2,3 如果不激活到前端就不必要使用了。
3。 在对话框的CPP实现中,定义为外部变量,extern CString onlyTitle;
4。 并在对话框初始化函数中BOOL COnceDlg::OnInitDialog(),调用设置为标题SetWindowText(onlyTitle);
这里列举3种方法,第1种最简单。3种方法的APP实现完整代码如下:
===方法1===
// once.cpp : Defines the class behaviors for the application.
//
#include "stdafx.h"
#include "once.h"
#include "onceDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// COnceApp
BEGIN_MESSAGE_MAP(COnceApp, CWinApp)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COnceApp construction
COnceApp::COnceApp()
{
}
/////////////////////////////////////////////////////////////////////////////
// The one and only COnceApp object
COnceApp theApp;
/////////////////////////////////////////////////////////////////////////////
// COnceApp initialization
//这里是应用程序的入口,还不能设置标题,需要到后面的出现窗口后才能设置标题
//1。声明唯一标题,只是为了后续实例查找激活到前端使用,对于方法2,3 如果不激活到前端就不必要了。
//2。在后面对话框的实现中,定义为外部变量,extern CString onlyTitle;
//3。并在初始化函数中BOOL COnceDlg::OnInitDialog(),将其设置为标题 SetWindowText(onlyTitle);
//
CString onlyTitle="你是我的唯一";
BOOL COnceApp::IsFirstInstance(CString title)
{
//有以下3中方法,第一种最简单
//=====方法1 普通的简单方式
//
}
BOOL COnceApp::InitInstance()
{
#ifdef _AFXDLL
#else
#endif
}
===方法2===
// once.cpp : Defines the class behaviors for the application.
//
#include "stdafx.h"
#include "once.h"
#include "onceDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// COnceApp
BEGIN_MESSAGE_MAP(COnceApp, CWinApp)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COnceApp construction
COnceApp::COnceApp()
{
}
/////////////////////////////////////////////////////////////////////////////
// The one and only COnceApp object
COnceApp theApp;
/////////////////////////////////////////////////////////////////////////////
// COnceApp initialization
//这里是应用程序的入口,还不能设置标题,需要到后面的出现窗口后才能设置标题
//以下4行代码,只对于方法2使用
#pragma comment( linker ,"/section:Shared,rws" ) //1 等同在链接器LINK标签选项中增加 /section:Shared,rws
#pragma data_seg("Shared")//2 在数据段中加变量
#pragma data_seg()
//1。声明唯一标题,只是为了后续实例查找激活到前端使用,对于方法2,3 如果不激活到前端就不必要了。
//2。在后面对话框的实现中,定义为外部变量,extern CString onlyTitle;
//3。并在初始化函数中BOOL COnceDlg::OnInitDialog(),将其设置为标题 SetWindowText(onlyTitle);
//
CString onlyTitle="你是我的唯一";
BOOL COnceApp::IsFirstInstance(CString title)
{
//=====方法2 全局的线程变量控制
}
BOOL COnceApp::InitInstance()
{
#ifdef _AFXDLL
#else
#endif
}
===方法3==
// once.cpp : Defines the class behaviors for the application.
//
#include "stdafx.h"
#include "once.h"
#include "onceDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// COnceApp
BEGIN_MESSAGE_MAP(COnceApp, CWinApp)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COnceApp construction
COnceApp::COnceApp()
{
}
/////////////////////////////////////////////////////////////////////////////
// The one and only COnceApp object
COnceApp theApp;
/////////////////////////////////////////////////////////////////////////////
// COnceApp initialization
//这里是应用程序的入口,还不能设置标题,需要到后面的出现窗口后才能设置标题
//1。声明唯一标题,只是为了后续实例查找激活到前端使用,对于方法2,3 如果不激活到前端就不必要了。
//2。在后面对话框的实现中,定义为外部变量,extern CString onlyTitle;
//3。并在初始化函数中BOOL COnceDlg::OnInitDialog(),将其设置为标题 SetWindowText(onlyTitle);
//
CString onlyTitle="你是我的唯一";
BOOL COnceApp::IsFirstInstance(CString title)
{
//=====方法3
}
BOOL COnceApp::InitInstance()
{
#ifdef _AFXDLL
#else
#endif
}
- VC 对话框 只允许运行一个实例 ,如果有就激活到前端
- C# WinForm 只允许运行一个实例 ,如果有就激活到前段
- vc只允许程序有一个实例运行
- MFC 对话框只允许一个实例运行
- vc只允许运行一个实例
- vc 只运行一个实例,并激活已运行实例
- 只允许运行一个实例
- 只允许运行一个实例
- Windows客户端开发--只允许有一个实例运行
- C#应用程序只允许运行一个实例,多次运行的时候激活当前实例,显示其界面
- 只允许程序运行一个实例
- 只允许运行一个实例(C#)
- C# 只允许运行一个实例
- 如何做到只允许一个实例运行?
- C# 只允许运行一个实例
- C# 只允许运行一个实例
- .net 只允许运行一个实例
- c# winform 只允许运行一个实例
- 基数排序
- 第三周项目一—体验类和对象
- 关于C++中的友元函数的总结
- linux的程序调用so库
- ubuntu 安装svn
- VC 对话框 只允许运行一个实例 ,如果有就激活到前端
- apple个人开发者证书无线发布app的实现
- hadoop多台机器集群的配置
- 5.5 挂钩(HOOK)
- 第三周C++上机报告(【类】的撞错)
- K线研究要重视的3个要素
- expect 脚本 命令记录
- 我的断点心得——帮初学者进阶
- 关于ARM里面的CMP指令的个人理解