找回密码
 加入
搜索
楼主: charson

一个有趣的问题-程序自身重启

 火.. [复制链接]
发表于 2008-10-31 08:53:48 | 显示全部楼层
  一个例子:
要先编译后才能试出效果!编译后的程序放那都可以正常的重开.


If WinExists('KILLMYQUICK') Then WinKill('KILLMYQUICK', '')
If WinExists('THISISMYRUNNINGTITLE') Then Exit
AutoItWinSetTitle('THISISMYRUNNINGTITLE')

$T1 = TimerInit()
While 1
        Sleep(1000)
        $T2 = TimerDiff($T1)
        TrayTip('',$T2,1)
        If $T2 >= 60000 Then
                AutoItWinSetTitle('KILLMYQUICK')
                MsgBox(0,'', '转换程序', 2)
                Run(@AutoItExe)
        EndIf
WEnd
 楼主| 发表于 2008-11-1 13:17:33 | 显示全部楼层
还是热心的人多啊~~~~
发表于 2010-1-25 21:49:45 | 显示全部楼层
MsgBox(0,"",@ComSpec)
ShellExecute(@AutoItExe)
ProcessClose(@ScriptName)

这样子写更简单
gto250 发表于 2008-10-29 18:47



    是很简单,收藏了
发表于 2010-1-26 11:14:47 | 显示全部楼层
学习下,
发表于 2010-1-26 17:54:10 | 显示全部楼层
超简单的逻辑问题,没完没了了还..
哪里用那么麻烦.

$g_szVersion = "我的脚本"
If WinExists($g_szVersion) Then WinKill ($g_szVersion) ; 如果之前已经运行就删除之前那个
AutoItWinSetTitle($g_szVersion)
while
.............
run(@AutoItExe)
exit;可以不用自己退出,后来运行的会把本进程关闭的,为了安全起见还是加上吧
wend
发表于 2010-8-31 10:10:01 | 显示全部楼层
呵呵学习了
发表于 2010-8-31 10:29:16 | 显示全部楼层
回复 14# gto250

你的是从新运行另一份程序,不是自身重启.
发表于 2012-2-10 23:32:11 | 显示全部楼层
学习了。刚好要也。
发表于 2012-6-27 22:10:23 | 显示全部楼层
正需要这样的功能
发表于 2012-7-14 16:11:34 | 显示全部楼层
留个记号.以后用....
发表于 2012-7-15 17:22:45 | 显示全部楼层
回复 12# skyfree
嘿嘿,好长时间不来了,居然看到skyfree了
发表于 2014-1-12 17:14:43 | 显示全部楼层
唉,真是又碰到了一个难题啊,这个问题也是使用ahk比较方便,一句reload命令就可以了。
发表于 2014-1-12 17:30:46 | 显示全部楼层
正常退出,延时重启程序即可。
发表于 2015-3-28 16:00:40 | 显示全部楼层
没有人注解一下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-27 15:20 , Processed in 0.210477 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表