/* //用原子窗体禁止重复启用的前提条件是主窗体先启动,并保持显示。 //如果首先会弹出登录欢迎窗口,可先用进程互斥体判断是否有相同的实例。 import process.mutex; var mutex = process.mutex("互斥体.唯一标识") if( mutex.conflict ){ return mainForm.atom("请在这里输入唯一标识字符串");; } //如果直接显示主窗口,上面的代码可以省略。 */ import win.ui; import win.ui.atom; /*DSG{{*/ mainForm = win.form(text="限制同一个窗口程序仅运行单个实例";) mainForm.add() /*}}*/ /* 为窗口设置原子值可以避免一个程序重复运行多个实例。 建议使用 [aardio 工具 » GUID 生成器]创建 GUID 字符串作为 mainForm.atom 的参数。 如果成功则返回值 atom 为有效原子 ID,失败则 atom 为 0。 如果失败则返回值 hwnd 为已经创建相同原子的冲突窗口句柄。 */ var atom,hwnd = mainForm.atom("请在这里输入唯一标识字符串"); if(!atom){ //mainForm.atom 会自动前置冲突的窗口。 //已经运行多个实例,退出当前程序。 win.quitMessage(); return; } mainForm.show(); return win.loopMessage();