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

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

/*
有时候进程需要禁止重复运行,但主窗体可能并不是最先启动的(例如登录界面、欢迎界面等等)
这时候就不方便在第一个窗体使用原子窗体禁止重复启动,可以改用 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


登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...