fenhanxue 发表于 2013-3-30 01:27:18

【已解决】求助为什么2个程序没法循环拉?

本帖最后由 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

xms77 发表于 2013-3-30 08:38:34

回复 1# fenhanxue
程序路劲问题,修改为绝对路径。

曼菲士 发表于 2013-3-30 09:10:48

通常病毒都是这么写的。

guti_8014 发表于 2013-3-30 10:19:08

顺便把工作目录也加上去试试。

veket_linux 发表于 2013-3-30 11:49:41

@ScriptDir

fenhanxue 发表于 2013-3-30 12:52:43

回复 3# xms77


    我想整个文件随便拷贝在哪台电脑的任何位置,都能正常地使用,请教路径这句应该怎么改拉?

fenhanxue 发表于 2013-3-30 12:53:49

回复 4# 曼菲士

啊{:face (229):}

真的假的{:face (319):}

应该怎么改哇。。。

fenhanxue 发表于 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
好像真的可以啦,{:face (249):}
为什么差一个@ScriptDir,会对结果产生影响拉?

mbdnmt 发表于 2013-3-30 23:05:48

楼主研究这个干啥?

fenhanxue 发表于 2013-3-30 23:19:47

回复 9# mbdnmt


    好奇{:face (355):}

zym3138 发表于 2013-4-5 10:02:15

我也很好奇啊。{:face (125):}
页: [1]
查看完整版本: 【已解决】求助为什么2个程序没法循环拉?