lin6163 发表于 2009-2-6 19:47:47

请问这个程序怎么写,不是很复杂!

运行之后弹出一个密码验证窗口不用太大10X30就够了,
当密码是123时验证通过,并运行a.exe
然后等到a.exe不在进程时弹出窗口
询问是否要重启,是就重启,否即退出
如果10秒不操作当做默认重启机子
当密码不是123时跳到另一个标题为"密码错误请重新输入"
三次错误就退出



在这里先谢谢了

limeng 发表于 2009-2-6 22:04:23

#include <GUIConstants.au3>
#include <string.au3>
$a = InputBox("提示","请输入密码","","*",10,10)
if $a = "123" Then
        run("a.exe")
        ProcessWaitClose("a.exe")
        GUICreate("提示",250,50)
        $B = GUICtrlCreateButton ("重启",15, 10,100,35)
        $C = GUICtrlCreateButton ("取消",130, 10,100,35)
        GUISetState ()
        While 1
    $msg = GUIGetMsg()
    select
    case $msg = $GUI_EVENT_CLOSE
         ExitLoop
    case $msg = $B
         Shutdown(6)
    case $msg = $C
         exit
EndSelect
Wend
Else
        MsgBox(0,"提示","密码输入错误")
EndIf
我学到的只能帮你这么多,你说的要输入3次错误就退出时间问题帮不到你了.

即即 发表于 2009-2-6 22:58:41

For $n = 1 To 4
        Select
                Case $n = 1
                        $passwd = InputBox("提示", "请输入密码:", "", "*", 20, 130)
                        If $passwd = 123 Then RunUDF()
                        If @Error = 1 Then Exit
                Case $n = 2 Or $n = 3
                        $passwd = InputBox("提示", $n & "密码错误请重新输入:", "", "*", 20, 130)
                        If $passwd = 123 Then RunUDF()
                        If @Error = 1 Then Exit
                Case Else
                        Exit
        EndSelect
Next

Func RunUDF()
        RunWait("a.exe")
        $Box = MsgBox(1 + 32, "提示", "你是否马上重新启动计算机? ")
        If $Box = 1 Then Shutdown(6)
        Exit
EndFunc   ;==>RunUDF

[ 本帖最后由 即即 于 2009-2-6 23:14 编辑 ]

lin6163 发表于 2009-2-7 20:39:44

这个到最后那段 提示你是否马上重新启动计算机?
这里没有倒计时10秒
如果10秒不操作当做默认重启机子
还有再问一下 RunUDF()
这是跳转命令吗?
怎么定义的

dingamao 发表于 2009-2-7 21:29:41

RunUDF()是一个用户自定义函数

sxd 发表于 2009-2-7 22:18:12

扣分猫 重出江湖?

lin6163 发表于 2009-2-8 20:09:57

最后那个如果10秒不操作当做默认重启机子

谁能帮我加上去

KiwiCsj 发表于 2009-2-9 09:28:29

如果10秒不操作当做默认重启的设置请参考MsgBox的帮助说明。
帮助一定要看。
页: [1]
查看完整版本: 请问这个程序怎么写,不是很复杂!