【发布时间】:2011-07-20 09:51:49
【问题描述】:
Delphi XE VCL 是否支持确保只有一个应用程序实例在运行?
过去,我使用库代码来控制 Mutex,这似乎总是很复杂。当我在 Delphi XE 中开始一个新项目时,我想知道我是否需要挖掘旧代码,或者是否已经内置了 XE 支持?或者是否有其他易于应用且美观且现代的代码?
【问题讨论】:
-
是什么让您认为创建互斥锁不现代?
-
我已经为以下跨多个用户会话工作的类型实现了实例化:TEAppSingleInstance = (siYes, siMultipleAcrossUsers, siNo)。是意味着所有用户的单个实例,不意味着每个用户可以运行多个实例,跨用户的多个意味着每个用户只能为其会话运行一个实例,但多个用户可以同时运行应用程序。