原子窗体(互斥体,禁止重复运行窗体),非第一运行窗体实现原子窗体的方法

By admin at 2017-11-19 • 0人收藏 • 660人看过
//原子窗体一例

/*
有时候进程需要禁止重复运行,但主窗体可能并不是最先启动的(例如登录界面、欢迎界面等等)
这时候就不方便在第一个窗体使用原子窗体禁止重复启动,可以改用 process.mutex 创建互斥体来禁止进程重复启动。
仍然可以通过原子窗体尝试查找主窗体,实现用户双击EXE激活已经启动的主窗体的效果。
*/

//创建互斥体
import process.mutex;
var mutex = process.mutex("互斥体.唯一标识") 
if( mutex.conflict ){
    import win.ui.atom;
    var atom,hwndConflict = win.ui.atom.find("原子窗体.唯一标识")
    if( hwndConflict ) win.setForeground(hwndConflict);
    return;
} 

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=349;bottom=249;parent=...)
winform.add()
/*}}*/

import win.ui.atom 
winform.atom("原子窗体.唯一标识"); 

winform.show() 
win.loopMessage();

其中:

"原子窗体.唯一标识"

这个可以利用,GUID生成唯一标识符.

blob.png


登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
Sciter中文在线文档Sciter在线学习文档
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
C大Aardio论坛:Aar爱好者论坛
简码教程网:简码编程
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...