相关疑难解决方法(0)

以编程方式重启Delphi应用程序

不应该运行我的应用程序的多个实例.因此项目源包含:

CreateMutex (nil, False, PChar (ID));
if (GetLastError = ERROR_ALREADY_EXISTS) then
  Halt;
Run Code Online (Sandbox Code Playgroud)

现在我想以编程方式重新启动我的应用程序.通常的方式是:

AppName := PChar(Application.ExeName) ;
ShellExecute(Handle,'open', AppName, nil, nil, SW_SHOWNORMAL) ;
Application.Terminate;
Run Code Online (Sandbox Code Playgroud)

但是由于互斥锁,这在我的情况下不起作用.即使我在启动第二个instace之前释放互斥锁也无法工作,因为shutdown需要一些时间并且两个实例不能并行运行(因为常见的资源和其他影响).

有没有办法重新启动具有这些特征的应用程序?(如果没有额外的可执行文件可能)

提前致谢.

delphi delphi-2010 application-restart

6
推荐指数
1
解决办法
9526
查看次数

标签 统计

application-restart ×1

delphi ×1

delphi-2010 ×1