在 Windows 环境中,我不希望我的程序的两个实例同时运行。
最佳答案
如果是你的程序,那么windows下的最短版本:
int main(int argc, char** argv)
{
CreateMutexA(0, FALSE, "Local\\$myprogram$"); // try to create a named mutex
if(GetLastError() == ERROR_ALREADY_EXISTS) // did the mutex already exist?
return -1; // quit; mutex is released automatically
// ... program code ...
}
没有必要变得疯狂复杂,如果你只需要一个简单的检查......
关于c++ - C/C++ 如何判断一个程序是否已经在运行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/800730/