VC控制程序只运行一次效果

本文简单介绍下VC如何使一个程序一次只运行一次。


新建对话框应用程序,并且运行程序。

VC控制程序只运行一次效果_第1张图片


同时点击多次运行多个当前程序。

VC控制程序只运行一次效果_第2张图片


设置一次只运行当前程序一个。

BOOL CProgramRunOneApp::InitInstance()
{
	AfxEnableControlContainer();

	// Standard initialization
	// If you are not using these features and wish to reduce the size
	//  of your final executable, you should remove from the following
	//  the specific initialization routines you do not need.

#ifdef _AFXDLL
	Enable3dControls();			// Call this when using MFC in a shared DLL
#else
	Enable3dControlsStatic();	// Call this when linking to MFC statically
#endif

	//设置一次只能运行一个程序开始**
	HANDLE handle = ::CreateMutex(NULL,FALSE,"my programe");
	DWORD res = 0;
	res = GetLastError();
	if (res == ERROR_ALREADY_EXISTS)
	{
		AfxMessageBox("一次只能运行一个程序");
		return FALSE;
	}
	//设置一次只能运行一个程序结束**


	CProgramRunOneDlg dlg;
	m_pMainWnd = &dlg;
	int nResponse = dlg.DoModal();
	if (nResponse == IDOK)
	{
		// TODO: Place code here to handle when the dialog is
		//  dismissed with OK
	}
	else if (nResponse == IDCANCEL)
	{
		// TODO: Place code here to handle when the dialog is
		//  dismissed with Cancel
	}

	// Since the dialog has been closed, return FALSE so that we exit the
	//  application, rather than start the application's message pump.
	return FALSE;
}

再次多次运行程序,试试效果。

VC控制程序只运行一次效果_第3张图片


源码下载


你可能感兴趣的:(VC,程序运行,次数设置)