帮忙看看这段代码哪里不对

dwqdwqwsdwq 2011-08-20 02:28:04
帮忙看看这段保证只有一个程序实例在运行的代码有什么错误,运行结果不对,已经打开两个实例可还是只显示一个实例在运行
#include <iostream.h>
#include <windows.h>
int main()
{
HANDLE hMutex;
hMutex = CreateMutex(NULL, TRUE, "asd" );
if(hMutex)
{
if(ERROR_ALREADY_EXISTS == GetLastError())
{
cout << "不能同时运行两个实例" << endl;
return 0;
}
cout << "ok现在只有一个实例在运行" << endl;
ReleaseMutex(hMutex);
}
return 0;
}
...全文
56 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wltg2001 2011-08-20
  • 打赏
  • 举报
回复
如果你非要看效果的话,改成这样:
int main()
{
HANDLE hMutex;
hMutex = CreateMutex(NULL, TRUE, "asd" );
if(hMutex)
{
if(ERROR_ALREADY_EXISTS == GetLastError())
{
cout << "instance is running" << endl;
return 0;
}
else
{
cout << "ok" << endl;
}
while( 1) ;
ReleaseMutex(hMutex);

return 0;
}
}
wltg2001 2011-08-20
  • 打赏
  • 举报
回复
刚回过了,因为是控制台,所以效果看不出来。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧