主题:[讨论]请问高手如何让程序只能运行一个
heminking
[专家分:30] 发布于 2007-05-24 10:19:00
请问高手如何让程序只能运行一个啊,就想QQGame一样只能运行一个,有知道就说说哈,说详细一点我对这方面不是很清楚哈,先谢谢了!
回复列表 (共6个回复)
沙发
navyone [专家分:310] 发布于 2007-05-24 11:25:00
bool IsAppRunning(void)
{
HWND fHandle;
fHandle = CreateMutex(NULL,false,Application->ExeName.c_str()); // Check if application has been launched?
try
{
// is current application running?
// well, if you don't like this message, you can write your own error message...
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
ShowMessage("Cannot execute duplicate copy,\n"+Application->ExeName);
CloseHandle(fHandle); // Handles are memory eaters, so get rid-off second copy...
return true;
}
}
catch(...)
{
ReleaseMutex(fHandle); // make sure free mutex.
}
return false;
}
板凳
future0906 [专家分:30] 发布于 2007-06-02 19:53:00
不过是Win32 SDK的话,主函数就有参数可以判断了~~
3 楼
zwgzhou_0 [专家分:0] 发布于 2007-07-04 17:43:00
void __fastcall TfrmMain::FormCreate(TObject *Sender)
{
String mutexName;//互斥元名
HWND hPrevWnd,hData; //hPrevWnd---窗口句柄, hData---GetProp返回的属性值
TModalResult result;
mutexName = Application->ExeName; //以应用程序名作为互斥名
CreateMutex(NULL,TRUE,mutexName.c_str());
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
Application->Terminate();
}
}
4 楼
moke5 [专家分:30] 发布于 2010-09-01 15:10:00
你好.我是全职网赚工作者.
如果你有时间有电脑.会打字.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ909065437
5 楼
moke5 [专家分:30] 发布于 2010-09-01 15:11:00
你好.我是全职网赚工作者.
如果你有时间有电脑.会打字.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ909065437
6 楼
cyite [专家分:0] 发布于 2010-09-19 07:17:00
这是一个互助的模式。
不推广人也有钱赚的。分A B两个网。
不推广的人在A网。推广的人 在B网。
B网推广的人帮助A网。
A网拿6000元出局。
B网就多了。
C易特元亨QQ919169870
奖励制度
C易特更多资料C易特元亨QQ919169870
http://blog.sina.com.cn/cyite6
C易特奖励制度
http://blog.sina.com.cn/s/blog_6b2561440100l5r8.html
我来回复