返回列表 回复 发帖

Autoit3不能执行选框选中的文件?

#include <GUIConstants.au3>
#include <file.au3>
$Form1 = GUICreate("Form1", 633, 447, 193, 115)
$Button1 = GUICtrlCreateButton("Button1", 472, 344, 121, 33, 0)
GUISetState(@SW_SHOW)
$ext=IniRead ( "win.ini", "ext", "ext", "" )
if $ext= "" then exit
Dim $w=30 , $c,$b,$s[200]
$var = IniReadSection("win.ini", "drivers")
For $i = 1 To $var[0][0]
        $w=$W+26
    $S[$i]=GUICtrlCreateCheckbox($var[$i][0], 112, $w ,41, 25)
Next
While 1
        If  GUIGetMsg()=$Button1  then m()
        If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
WEnd
Func m()
For $i = 1 To $var[0][0]
if GUICtrlRead($S[$i]) = 1 then
        $c=StringSplit($b,".")
        if FileExists($c[1]&'.*') Then
                if         StringInStr($c[1],".bat") or StringInStr($c[1],".cmd") Then        
                        RunWait($var[$i][1],"",@SW_HIDE)
                else
                        RunWait($var[$i][1],"")
                EndIf
        EndIf
EndIf
next
if GUICtrlRead($S[0]) = 0 then
        MsgBox(0,"您没有选择","请选择,否则就退出!")
EndIf
Exit
EndFunc

为什么不能执行选框选中的文件?
配制文件 win.ini的[drivers]字段下,用户可以自己加。
=左右两边由用户自己在配制文件中加入。
是哪里出现了错,请版主给予指导和改正,谢谢!
配制文件  win.ini
[ext]
ext=1
[drivers]
金山快译=IniReadSection.exe
QQ=QQ.exe

[ 本帖最后由 redapple 于 2007-5-13 01:25 PM 编辑 ]
为什么没有人来帮我?
  1. #include <GUIConstants.au3>
  2. #include <file.au3>
  3. $Form1 = GUICreate("Form1", 633, 447, 193, 115)
  4. $Button1 = GUICtrlCreateButton("运 行", 472, 344, 121, 33, 0)
  5. GUISetState(@SW_SHOW)
  6. $ext=IniRead ( "win.ini", "ext", "ext", "" )
  7. if $ext= "" then exit
  8. Dim $w=30 , $c,$b,$s[200]
  9. $var = IniReadSection("win.ini", "drivers")
  10. For $i = 1 To $var[0][0]
  11.         $w=$W+26
  12. $len = StringLen($var[$i][0])*120
  13.     $S[$i]=GUICtrlCreateCheckbox($var[$i][0], 112, $w ,$len, 25)
  14. Next
  15.     While 1
  16.         If  GUIGetMsg()=$Button1  then m()
  17.         If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
  18. WEnd
  19.   
  20. Func m()
  21. For $i = 1 To $var[0][0]
  22. if GUICtrlRead($S[$i]) = 1 then
  23.         $c=StringSplit($var[$i][1],".")
  24.         if FileExists($c[1]&'.*') Then
  25.                 if  StringInStr($c[2],"bat") or StringInStr($c[2],"cmd")Then        
  26.                         RunWait($var[$i][1],"",@SW_HIDE)
  27.                 else
  28.                         RunWait($var[$i][1])
  29.     EndIf  
  30.         EndIf
  31. EndIf
  32. next
  33. if GUICtrlRead($S[0]) = 0 then
  34.         MsgBox(0,"您没有选择","请选择,否则就退出!")
  35. EndIf
  36. Exit
  37. EndFunc
复制代码
把标题改一下,如果都是这个样子的标题不利于搜索!
比如改成
Autoit3不能执行选框选中的文件?
谢谢您的合作

我不知道你要做成什么东西,反正我觉得你的代码比较乱。
也不知道你要做成什么样子,你说不能运行!我测试了一下可以的

里面还有很多问题的
自己慢慢看看吧
反正 如果当前目录有这个EXE应用程序就能运行的
没有的话就不能运行
对于没有时候进一步判断就自己处理了!
再者用runwait的话是一个一个运行等待结束后再运行的
感谢Baidu,Google,Dreams8给我这次机会!
还要感谢我的爸爸妈妈!
HOHO
谢谢版主关心!
让我再研究一下,看看。
能不能留下联系方式?
有没有判断全部的复选框不选中时再提示”你没有选中“?

[ 本帖最后由 redapple 于 2007-5-13 02:05 PM 编辑 ]
原帖由 redapple 于 2007-5-13 02:01 PM 发表
谢谢版主关心!
让我再研究一下,看看。
能不能留下联系方式?
有没有判断全部的复选框不选中时再提示”你没有选中“?
联系的话,一般论坛里你有问题发了帖子
我看到都会交流

有没有判断全部的复选框不选中时再提示”你没有选中“?
你代码里不是写得很清楚了
还问我有没有

  1. if GUICtrlRead($S[0]) = 0 then
  2.         MsgBox(0,"您没有选择","请选择,否则就退出!")
  3. EndIf
复制代码
感谢Baidu,Google,Dreams8给我这次机会!
还要感谢我的爸爸妈妈!
HOHO
但是每次都会运行这个”您没有选择","请选择,否则就退出。“这个对话框,不知道是那里错了。
我刚才调试了一下。好像就有这个问题了。
原帖由 redapple 于 2007-5-13 02:24 PM 发表
但是每次都会运行这个”您没有选择","请选择,否则就退出。“这个对话框,不知道是那里错了。
我刚才调试了一下。好像就有这个问题了。
因为你是程序是顺序运行的

所以当所有程序运行完之后就
有这个对话框的

你要再考虑一下判断方面的东西了

我只能说你这个乱了一点
感谢Baidu,Google,Dreams8给我这次机会!
还要感谢我的爸爸妈妈!
HOHO
我想不用判断了。你试试再说。谢谢你的帮助。
返回列表