找回密码
 加入
搜索
查看: 4348|回复: 10

[系统综合] 【已解决】求助为什么2个程序没法循环拉?

  [复制链接]
发表于 2013-3-30 01:27:18 | 显示全部楼层 |阅读模式
本帖最后由 fenhanxue 于 2013-3-30 23:20 编辑

我有2个au程序生成的exe,文件结构是如下图这样的:

也就是程序1.exe  和 文件夹 DATE 在一个文件夹下面
然后,程序2.exe  在文件夹 DATE里面

然后我对1.exe 和 2.exe 设计的功能如下图:

就是说,单击1.exe中的“进入2”按钮,程序会先打开2.exe,再关闭1.exe
单击2.exe的“X”关闭时,程序会先打开1.exe,再关闭2.exe


我想实现的功能是,让两个程序可以按照这么个图形一直可以循环执行下去:


但是我发现灵异的情况是这样的:
1)如果我先执行2.exe,两个程序可以一直循环下去,即:先打开2.exe——关闭2.exe(点2.exe上面的“X”)——此时2.exe关闭,1.exe自动打开——单击“进入2”——此时1.exe关闭,2.exe自动打开——循环。。。。。
1)但如果我先执行1.exe,当我点“进入2”按钮后,一切正常,1.exe关闭,2.exe开启。但当我再点2.exe上面的“X”的时候,2.exe会关闭,但1.exe却并没打开!循环并没有出现!这是为什么啊?想不通想不通。。。


我的代码如下哈:
程序1.exe代码
#include <GUIConstantsEx.au3>

GUICreate("1",350,300)
$Editor=GUICtrlCreateButton("进入2",170,200,175,35)
GUISetState()

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                        Case $GUI_EVENT_CLOSE
                                Exit
                        Case $Editor
                                Run("DATE\2.exe")
                                Exit
        EndSwitch
WEnd
程序2.exe代码
#include <GUIConstantsEx.au3>

$GUI = GUICreate(" 2 ", 200, 200)
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Run ( "..\1.exe" )
                        Exit
        EndSwitch
WEnd

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2013-3-30 08:38:34 | 显示全部楼层
回复 1# fenhanxue
程序路劲问题,修改为绝对路径。
发表于 2013-3-30 09:10:48 | 显示全部楼层
通常病毒都是这么写的。
发表于 2013-3-30 10:19:08 | 显示全部楼层
顺便把工作目录也加上去试试。
发表于 2013-3-30 11:49:41 | 显示全部楼层
@ScriptDir
 楼主| 发表于 2013-3-30 12:52:43 | 显示全部楼层
回复 3# xms77


    我想整个文件随便拷贝在哪台电脑的任何位置,都能正常地使用,请教路径这句应该怎么改拉?
 楼主| 发表于 2013-3-30 12:53:49 | 显示全部楼层
回复 4# 曼菲士



真的假的

应该怎么改哇。。。
 楼主| 发表于 2013-3-30 13:00:52 | 显示全部楼层
回复 6# veket_linux

是这样么:
#include <GUIConstantsEx.au3>

GUICreate("1",350,300)
$Editor=GUICtrlCreateButton("进入2",170,200,175,35)
GUISetState()

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                        Case $GUI_EVENT_CLOSE
                                Exit
                        Case $Editor
                                Run(@ScriptDir&"\DATE\2.exe")
                                Exit
        EndSwitch
WEnd

#include <GUIConstantsEx.au3>

$GUI = GUICreate(" 2 ", 200, 200)
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Run (@ScriptDir&"\..\1.exe" )
                        Exit
        EndSwitch
WEnd
好像真的可以啦,
为什么差一个@ScriptDir,会对结果产生影响拉?
发表于 2013-3-30 23:05:48 | 显示全部楼层
楼主研究这个干啥?
 楼主| 发表于 2013-3-30 23:19:47 | 显示全部楼层
回复 9# mbdnmt


    好奇
发表于 2013-4-5 10:02:15 | 显示全部楼层
我也很好奇啊。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-13 07:53 , Processed in 0.091240 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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