如何禁止程序二次运行
如题: 问题点数:5、回复次数:7Top
1 楼LngDotin(水拍云)回复于 2006-03-16 22:47:23 得分 2
首先说一点,给的分太少了,下次再这样就根本没有回答的价值。^-^......
void *OnlyRunOnce;
OnlyRunOnce = CreateMutex(0,1,"Project1");
if(GetLastError() == 183)
{ Application->MessageBox("程序已运行,请检查是否被最小化!","Project1",MB_ICONWARNING);
exit(-1);
}Top
2 楼0delphi(睡个舒服觉)回复于 2006-03-17 00:02:35 得分 0
嗯,我不怕少Top
3 楼kwokwinglau(每天前进1%)回复于 2006-03-17 08:08:58 得分 1
hWnd = FindWindowEx(NULL, NULL, NULL, "程序名");
if(hWnd != NULL)
{
ShowWindow(hWnd, SW_SHOW);
SetForegroundWindow(hWnd);
return 0;
}Top
4 楼kwokwinglau(每天前进1%)回复于 2006-03-17 08:09:23 得分 0
補充:
HWND hWnd;
Top
5 楼freefishlala()回复于 2006-03-17 09:47:47 得分 2
HANDLE hMutex = CreateMutex ( NULL, false, "OnlyOne" ) ;
if ( WaitForSingleObject ( hMutex, 0 ) == WAIT_TIMEOUT )
{// 说明指定的窗体已经存在
Application->MessageBox("本机已存在该应用程序的一个实例","程序退出",MB_ICONINFORMATION);
Application->Terminate();
exit ( 0 ) ;//结束这个程序!
}
Application->Initialize();
......Top
6 楼flyskylf(天高云淡)回复于 2006-03-18 22:25:52 得分 0
请LngDotin(水拍云)大侠原谅
我真的没分了,你可以查一下Top
7 楼flyskylf(天高云淡)回复于 2006-03-18 22:26:16 得分 0
谢谢各位大侠的支持Top




