ling3882688 发表于 2015-4-3 10:17:24

如何结束重复运行的自身程序?不是自身退出,而是之前的那个结束掉。

本帖最后由 ling3882688 于 2015-4-3 10:19 编辑

我看到大部分防止重复运行都是发现重复运行就自动退出,如何实现发现自身重复运行就结束之前的那个进程呢?

netegg 发表于 2015-4-3 10:27:25

没明白什么意思

ac5474012 发表于 2015-4-3 15:06:12

回复 2# netegg


    他的意思是,他有个程序,需要保证系统中只能有一个自己。

ac5474012 发表于 2015-4-3 15:08:35

楼主 我和你说,你这个很简单。你写程序,其中写个自定义变量,如果发现有某个进程存在自身就退出。 这个自定义变量 怎么放 ?放在哪你就根据的程序自己设定吧。

netegg 发表于 2015-4-3 15:18:36

如果是脚本,sington
如是变量,global const

zldfsz 发表于 2015-4-3 15:59:06

你是这个意思吧

$g_szVersion = "独有的标题"
If WinExists($g_szVersion) Then WinClose($g_szVersion) ; 此脚本已经运行了
AutoItWinSetTitle($g_szVersion)
While 1
        Sleep(100)
WEnd

ling3882688 发表于 2015-4-3 16:04:07

回复 6# zldfsz


不是这个意思,这个我知道,正好和这个相反,不是发现重复运行自己退出,而是发现重复运行把那个之前运行的结束掉。

ling3882688 发表于 2015-4-3 16:08:13

回复 2# netegg

意思是发现自身重复运行了,后运行那个把之前的给结束掉而不是自己退出。

ling3882688 发表于 2015-4-3 16:10:53

回复 4# ac5474012

嗯,说的有道理,但是我水平太菜......

chzj589 发表于 2015-4-3 16:35:23

回复 8# ling3882688

帮助没去看?
----------------------
_Singleton
强制脚本仅执行一个设计实例.

#include <Misc.au3>
#include <MsgBoxConstants.au3>

If _Singleton("test", 1) = 0 Then
    MsgBox($MB_SYSTEMMODAL, "警告","测试已经运行")
    Exit
EndIf
MsgBox($MB_SYSTEMMODAL, "OK", "第一次出现的测试运行")

zldfsz 发表于 2015-4-3 17:00:30

回复 7# ling3882688


    你认证测试了吗,你把脚本保存为两个不同名字的文件运行后看看任务栏存在的是哪个程序

ling3882688 发表于 2015-4-3 17:11:43

回复 11# zldfsz

测试了,就是这个效果。
非常感谢,我看了一眼还以为和以前的代码是一个效果呢。

ling3882688 发表于 2015-4-3 17:16:25

回复 10# chzj589

非常感谢。

wangms 发表于 2015-4-3 21:59:29

回复 6# zldfsz

不错!相当于重启功能。。。。。。。。。。。。

zldfsz 发表于 2015-4-3 22:39:42

回复 14# wangms


    我弄的一个脚本托盘右键菜单有个就是重新运行,用的就这个
页: [1] 2
查看完整版本: 如何结束重复运行的自身程序?不是自身退出,而是之前的那个结束掉。