社区
C++ Builder
帖子详情
怎样在程序运行前判断是否有已运行的实例?
XChinux
2001-08-12 06:55:19
我在做一个校友信息管理查询系统,怎样在程序运行前判断是否有已运行的实例?
既只允许有一个实例在运行。
...全文
109
10
打赏
收藏
怎样在程序运行前判断是否有已运行的实例?
我在做一个校友信息管理查询系统,怎样在程序运行前判断是否有已运行的实例? 既只允许有一个实例在运行。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
TR@SOE
2001-08-14
打赏
举报
回复
CreateMutex是不错的。推荐使用。
gloom
2001-08-14
打赏
举报
回复
学习
XChinux
2001-08-14
打赏
举报
回复
我用的是
...
WINAPI WinMain(...)
{
if(!FindWindow(NULL,"Application's Title"))
return 0;
try
{
...
..
..
}
ZengCh
2001-08-13
打赏
举报
回复
代码如下:
if( FindWindow( NULL, "窗体名" ) != 0 )
{
Application->MessageBox( "已有一个实例!", "提示", MB_OK );
return 0;
}
else
Application->MessageBox( "第一个实例!", "提示", MB_OK );
wangledong
2001-08-13
打赏
举报
回复
你试试,没错的!
//---------------------------------------------------------------------------
WINAPI WinMain ( HINSTANCE, HINSTANCE, LPSTR, int )
{
try
{
HANDLE runonce = CreateMutex ( NULL, false, "Msocx" );
if ( WaitForSingleObject ( runonce, 20 ) != WAIT_OBJECT_0 )
{
Application->Terminate();
exit(0);
}//就是上面这段代码!绝对好用!
Application->ShowMainForm = false;
Application->CreateForm ( __classid ( TForm1 ) , & Form1 ) ;
Application->Initialize () ;
Application->Run () ;
}
catch ( Exception & exception )
{
Application->ShowException ( & exception ) ;
}
return 0;
}
「已注销」
2001-08-13
打赏
举报
回复
枚举窗口的速度也不慢
但需要你那窗口的名字起的很蹊跷才好
否则如果那个文件夹和你的窗口名一样
恰好又在打开…………可能程序就认为已经运行了一个实例了
@_@
「已注销」
2001-08-13
打赏
举报
回复
楼上的方法我以前用过
但很不荣幸的没调试成功
我还是用了枚举窗口来完成的
@_@
wolfboy
2001-08-13
打赏
举报
回复
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
CreateMutex(NULL,true,"only_one_copy");
if(GetLastError()!=ERROR_ALREADY_EXISTS)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TdMod), &dMod);
Application->CreateForm(__classid(TMainForm), &frmMainForm);
Application->Run();
}
catch (Exception &exception)
{
delete frmStartUpForm;
Application->ShowException(&exception);
}
}
else
{
MessageBox(NULL,"程序已经运行","错误",MB_OK);
}
return 0;
}
windindance
2001-08-12
打赏
举报
回复
标准方法是用CreateMutex。
书生
2001-08-12
打赏
举报
回复
在Project--->的入口函数中,
WinAPI main()
{
try
{
//遍历一遍运行的窗口,如果有同名的窗口,那就是已经有相同程序运行了
//窗体初始化
}
catch()
}
C# WinForm 判断程序是否已经在
运行
,且只允许
运行
一个
实例
,附
为了更便于使用,笔者整理了一段自己用的代码,可以判断程序是否在
运行
,只
运行
一个
实例
,而且能实现当程序在
运行
时,再去双击程序图标,直接呼出已经
运行
的程序。 下面看代码,只需在程序的入口文件中加如下代码...
VC++ 禁止
运行
程序的多个
实例
VC++ 禁止
运行
程序的多个
实例
,程序根据主窗口类名和主窗口名
判断是否
已经有
实例
存在,如果存在就将其激活,并显示出来,如果是最小化的就还原窗口;如果有
实例
存在,则返回False并退出。
征服JavaScript程序设计与应用
实例
视频课程
本课程将深入讲解Javascript的各种技术,让学员可以利用Javascript编写出非常复杂的程序。本课程也是React Native、Cocos2d-js、Unity3D、PhoneGap、Web等技术的
前
导课程。
C# 启动C++生成的EXE文件,是否
运行
判断,只
运行
一个
实例
C# 启动C++生成的EXE文件,是否
运行
判断,只
运行
一个
实例
,exe路径和exe名称参数配置在TXT文件中,便于插件使用。
使用DLL调用防止程序多次
运行
的
实例
程序
直接判断程序进程是否存在。 - 获取正在
运行
的程序,没有
运行
的程序则返回MutexKey.None - 根据当
前
进程的进程名获得进程集合,如果进程ID不等于当
前
运行
进程的ID以及
运行
进程的文件路径等于当
前
进程的文件路径,则...
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章