怎样让我的程序只能启动一次?

zerray 2003-12-21 05:32:47
就像winamp那样,启动后再点就没用了。
...全文
52 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zerray 2003-12-21
  • 打赏
  • 举报
回复
弱弱的问一句,我的程序名指的是什么呀?是可执行文件的名字还是工程的名字?
叶子哟 2003-12-21
  • 打赏
  • 举报
回复
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
HANDLE mutex;
try
{
const char mutexname[] = "这是我的程序名";
mutex = OpenMutex( MUTEX_ALL_ACCESS, false, mutexname );
if( mutex == NULL )
{
mutex= CreateMutex( NULL, true, mutexname );
if( mutex == NULL )
{
return -1;
}
}
else
{
return 0;
}

Application->Initialize();
Application->CreateForm(__classid(TForm2), &Form2);

Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
ReleaseMutex( mutex );
return 0;
}
//---------------------------------------------------------------------------
zerray 2003-12-21
  • 打赏
  • 举报
回复
要是没有窗体呢?是不是要创建互斥对象啊?我不会呀。
Samland 2003-12-21
  • 打赏
  • 举报
回复
用findwindow找到你原来的程序。
去delphi搜索一下吧,很多这样的例子

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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