17911 发表于 2009-5-25 21:21:20

GUI窗口不能关闭,请高手帮忙指教

本帖最后由 17911 于 2009-5-26 12:17 编辑

本人菜鸟,在脚本里加入AdlibEnable调用自定义函数ddd()后窗口不能正常关闭了,点关闭x没有反应,请帮忙解决一下
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <string.au3>
$Form1 = GUICreate("", 190, 240)
$Edit1 = GUICtrlCreateEdit("", 0, 0, 190, 190, $ES_WANTRETURN)
$Button1 = GUICtrlCreateButton("显示", 10, 200, 150, 30)

GUISetState(@SW_SHOW)
AdlibEnable("ddd",10000)
While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
      Case $GUI_EVENT_CLOSE
        Exit
                Case $Button1
                        $a = GUICtrlRead($Edit1)
                        $b = StringLen($a)
                        For $i = 1 To Round($b / 30)
                              If $i = 1 Then
                                        $a = _StringInsert($a, @CR, $i * 30)
                              Else
                                        $a = _StringInsert($a, @CR, $i * 30 + ($i - 1))
                              EndIf
                        Next
                        MsgBox(0, "", $a)
                                               
      EndSwitch
        WEnd
        Func ddd()
                Dim $i
                $i=5
                for $i=5 to $i^1000 Step 12
         MsgBox(0+64,"你好","请注意休息,你已经上网"&$i&"秒",2)
               Sleep(10000)
        Next
EndFunc

大绯狼 发表于 2009-5-25 21:53:46

楼主的程序有问题 FUNC 不应该写在WHILE里面
AdlibEnable并不是真正的多线程 他是暂停掉程序去运行其设置的FUNC里的内容 如果这个FUNC里有比较大的循环就会导致程序不能成功发送关闭的消息 楼主的提示可以考虑换个方式 那个循环的美看懂什么意思

17911 发表于 2009-5-25 22:01:04

本帖最后由 17911 于 2009-5-25 22:04 编辑

楼主的程序有问题 FUNC 不应该写在WHILE里面
AdlibEnable并不是真正的多线程 他是暂停掉程序去运行其设置的FUNC里的内容 如果这个FUNC里有比较大的循环就会导致程序不能成功发送关闭的消息 楼主的提示可以考虑换个 ...

就是每隔10秒钟弹出提示消息框:请注意休息,你已经上网多少秒,步进值为12,考虑停顿12秒,惭愧,没想出在循环中结束时间设置无限大怎么写就用临时用$i^1000 尝试使用判断句不用循环没成功

大绯狼 发表于 2009-5-25 22:40:52

那你把这个FUNC设置成12秒显示一次 每次弹出一个MSGBOX不就可以了吗 何必去循环

17911 发表于 2009-5-25 23:36:32

本帖最后由 17911 于 2009-5-26 12:17 编辑

那你把这个FUNC设置成12秒显示一次 每次弹出一个MSGBOX不就可以了吗 何必去循环

呵呵,开始只是为了练习就设置隔10秒弹出一次消息框而且持续下去就考虑的复杂了,就像软件提示注册一样无限循环,自己搞定了
页: [1]
查看完整版本: GUI窗口不能关闭,请高手帮忙指教