如果已经开启过这个程序后不会再次打开
C++:
#include <tlhelp32.h>
//程序只能打开一个
string strProcess;
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 3);
PROCESSENTRY32 pInfo;
pInfo.dwSize = sizeof(pInfo);
Process32First(hSnapShot, &pInfo);
cout << pInfo.szExeFile << endl;
// Wchar_tToString(strProcess, pInfo.szExeFile);
Qt:
QApplication a(argc, argv); HANDLE hMutex = CreateMutex(NULL, FALSE, L"DevState"); if (hMutex && (GetLastError() == ERROR_ALREADY_EXISTS)) { TerminateProcess(hMutex, 0); hMutex = NULL; QMessageBox::warning(NULL, "", "程序已开启!"); return 0; }