ytxldc 发表于 2009-6-12 10:07:39

用“MsgBox”做了个窗口,怎么实现按“是”电脑自动重启

本帖最后由 ytxldc 于 2009-6-13 19:18 编辑

用“MsgBox”做了个窗口,怎么实现按“是”电脑自动重启,我知道用“Shutdown(2)”可以重启,但是怎么样能够按“是”后执行“Shutdown(2)”呢,请高手指教,谢谢!

lc_lichuan 发表于 2009-6-12 10:51:23

send({Eneter})

lc_lichuan 发表于 2009-6-12 10:53:14

send("{Enter}")

ytxldc 发表于 2009-6-12 11:28:00

“是”和“否”这步我想手工操作的,就是想按了“是”以后就可以执行“Shutdown(2)”自动重启,按“否”回到桌面那种。

lc_lichuan 发表于 2009-6-12 12:22:40

这不可能吧,按了“是”那不就重启了,那你还要执行“Shutdown(2)”作甚麽,不懂呀,说清楚点行吗

botanycc 发表于 2009-6-12 12:34:05

楼主的意思是这步要选择性的操作,让用户自己选择,按是或否执行两个不同的操作
帮你项项

kisscoffee 发表于 2009-6-12 12:36:32

不懂。。。!

kisscoffee 发表于 2009-6-12 12:36:40

不懂。。。!

ytxldc 发表于 2009-6-12 12:47:05

上面的那图片现在按“是”的话直接回到桌面,只是做好按扭了,但按“是”现在不会执行重启动作的,我是想做成按“是”会重启,按“否”回到桌面那种效果,不知有没有办法。

botanycc 发表于 2009-6-12 12:49:23

帮忙里看到的类似程序,可以是否就行了,哈哈
#include <GUIConstantsEx.au3>

_Main()

Func _Main()
        Local $YesID, $NoID, $ExitID, $msg

GUICreate("自定义 Msgbox", 210, 80)

$Label = GUICtrlCreateLabel("请单击一个按钮!", 10, 10)
$YesID= GUICtrlCreateButton("是", 10, 50, 50, 20)
$NoID   = GUICtrlCreateButton("否", 80, 50, 50, 20)
$ExitID = GUICtrlCreateButton("退出", 150, 50, 50, 20)

GUISetState(); display the GUI

Do
        $msg = GUIGetMsg()
   
        Select
                Case $msg= $YesID
                        MsgBox(0,"您单击了:", "是")
                Case $msg= $NoID
                        MsgBox(0,"您单击了:", "否")
                Case $msg= $ExitID
                        MsgBox(0,"您单击了:", "退出")
                Case $msg= $GUI_EVENT_CLOSE
                        MsgBox(0,"您单击了:", "关闭")
        EndSelect
Until $msg = $GUI_EVENT_CLOSE or $msg = $ExitID
EndFunc   ;==>_Main

lc_lichuan 发表于 2009-6-12 13:30:55

把代码复制个出来呀,大家讨论讨论嘛

kn007 发表于 2009-6-12 14:57:02

帮顶,有传送门的,但我忘了帖子名称,不知进度条,你喜欢不,我给你写下

kn007 发表于 2009-6-12 15:06:26

版权pcbar所有,我只是修改了一下#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Global $time =30   ;时间
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("所选软件安装完毕,XXXXXXXXXX,这些你自己写",600, 172, 193, 125)
$Label1 = GUICtrlCreateLabel("30秒后将自动重启!您可以作出选择!", 56, 32, 555, 28)
GUICtrlSetFont(-1, 18, 400, 0, "楷体_GB2312")
$Progress1 = GUICtrlCreateProgress(8, 88, 555, 30)
$Button1 = GUICtrlCreateButton("立即重启(&Y)", 53, 128, 73, 25, 0)
$Button2 = GUICtrlCreateButton("稍后重启(&X)", 210, 128, 73, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
AdlibEnable("_timer", 1000)
While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE, $Button2
                        Exit
                Case $Button1
                        ExitLoop
      EndSwitch
      If $time <= 0 Then ExitLoop
WEnd
main()
Exit

Func _timer()
      $time -= 1
      GUICtrlSetData($Label1, $time & "秒后将自动重启!")
      GUICtrlSetData($Progress1, (30 - $time) / 0.3)
      If $time <= 0 Then AdlibDisable()
EndFunc   ;==>_timer

Func main()
      MsgBox(0, 'Information', 'Time out! Restart!.', 10) ;不懂中文,写英文算了
      Shutdown(2)                  ;重启
EndFunc   ;==>main

ytxldc 发表于 2009-6-12 15:13:03

谢谢各位好人,这么多代码,得慢慢学习一下

ytxldc 发表于 2009-6-12 15:56:24

13# kn007
kn007,你的代码好用,但点击了“立即重启”总会出现一个提示,是什么原因呢?
页: [1] 2 3 4
查看完整版本: 用“MsgBox”做了个窗口,怎么实现按“是”电脑自动重启