請選擇 進入手機版 | 繼續訪問電腦版

微剋多資訊

 找回密碼
 註冊

Login

Google帳號登入

搜索

簽到天數: 7

該用戶今日未簽到

發表於 2019-11-14 17:04 | 顯示全部樓層 |閱讀模式
  1. #Region ;**** 由 AccAu3Wrapper_GUI 创建指令 ****
  2. #AccAu3Wrapper_Icon=111.ico ;ICO文件自己准备
  3. #AccAu3Wrapper_OutFile=自动关机助手.exe
  4. #AccAu3Wrapper_UseX64=n
  5. #AccAu3Wrapper_Res_Comment=
  6. #AccAu3Wrapper_Res_Description=
  7. #AccAu3Wrapper_Res_Fileversion=1.0.0.1
  8. #AccAu3Wrapper_Res_LegalCopyright=
  9. #AccAu3Wrapper_Res_Language=2052
  10. #AccAu3Wrapper_Res_requestedExecutionLevel=None
  11. #EndRegion ;**** 由 AccAu3Wrapper_GUI 创建指令 ****
  12. #Region ;**** 参数创建于 ACNWrapper_GUI ****
  13. #EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
  14. #include <GUIConstantsEx.au3>
  15. #include <StaticConstants.au3>
  16. #include <WindowsConstants.au3>
  17. #include <ButtonConstants.au3>
  18. #include <ComboConstants.au3>
  19. #include <GUIConstants.au3>
  20. #include <DateTimeConstants.au3>
  21. #Include <Constants.au3>
  22. $Exists = "关机助手";判断是否只运行一个程序
  23. If WinExists($Exists) Then
  24.         MsgBox(32,"温馨提醒您:","程序已经运行!")
  25.         Exit
  26. EndIf
  27.         
  28. ;AutoItWinSetTitle($Exists);修改程序窗口的标题名
  29. FileCreateShortcut(@AutoItExe,@DesktopCommonDir&"定时工具");自动在桌面创建快捷方式!
  30. $Combo1 = GUICtrlCreateCombo("", 120, 95, 80, 25);组合列表
  31. $R1 = ""
  32. $T1 = ""
  33. $T2 = ""
  34. $T3 = ""
  35. $T4 = ""
  36. $S1 = ""
  37. $W1="0"
  38. $W2="0"
  39. $W3="0"
  40. $W4="0"
  41. $W5="0"
  42. $W6="0"
  43. $W7="0"

  44. $Form0= GUICreate("关机助手", 420, 380, 500, 300);前面二个是大小,后面二个是坐标
  45. $Group1 = GUICtrlCreateGroup("关机时间设定(默认为每天)", 20, 110, 380, 95);前面二个是框坐标,后面是大小
  46. GUICtrlSetColor(-1,0x666666)
  47. $Checkbox1 = GUICtrlCreateCheckbox("星期一", 40, 130, 65, 25);前面二个是坐标,后面是自己占用大小
  48. $Checkbox2 = GUICtrlCreateCheckbox("星期二", 110, 130, 65, 25)
  49. $Checkbox3 = GUICtrlCreateCheckbox("星期三", 180, 130, 65, 25)
  50. $Checkbox4 = GUICtrlCreateCheckbox("星期四", 250, 130, 65, 25)
  51. $Checkbox5 = GUICtrlCreateCheckbox("星期五", 320, 130, 65, 25)
  52. $Checkbox6 = GUICtrlCreateCheckbox("星期六", 40, 170, 65, 25)
  53. $Checkbox7 = GUICtrlCreateCheckbox("星期日", 110, 170, 65, 25)

  54. $Checkbox8 = GUICtrlCreateCheckbox("每日", 180, 170, 50, 25)
  55. $Label1 = GUICtrlCreateLabel("时间设定:", 240, 175, 65, 25)
  56. GUICtrlSetState($Checkbox8, $GUI_CHECKED)
  57. $Date1 = GUICtrlCreateDate("", 290, 170, 80, 20, BitOR($DTS_UPDOWN,$DTS_TIMEFORMAT,$WS_TABSTOP));时间选择控件
  58. GUICtrlCreateGroup("", -99, -99, 1, 1)
  59. $Group2 = GUICtrlCreateGroup("关机操作(默认强制重启)", 20, 210, 380, 50)
  60. GUICtrlSetColor(-1,0x666666)
  61. $Radio1 = GUICtrlCreateRadio("重启", 60, 230, 65, 25)
  62. $Radio2 = GUICtrlCreateRadio("关机", 140, 230, 65, 25)
  63. $Radio3 = GUICtrlCreateRadio("强制重启", 210, 230, 65, 25)
  64. $Radio4 = GUICtrlCreateRadio("强制关机", 285, 230, 65, 25)
  65. GUICtrlSetState($Radio3, $GUI_CHECKED)
  66. GUICtrlCreateGroup("", -99, -99, 1, 1)
  67. $Group3 = GUICtrlCreateGroup("", 20, 13, 380, 90)
  68. $Label2 = GUICtrlCreateLabel("关机小程序", 140, 0, 120, 17)
  69. GUICtrlSetColor(-1,0xbb0033);美化字体颜色
  70. $Label3 = GUICtrlCreateLabel("", 290, 0, 108, 18)
  71. GUICtrlSetColor(-1,0x440011)
  72. $Label4 = GUICtrlCreateLabel("每周:", 30, 30, 360, 30)

  73. $Label5 = GUICtrlCreateLabel("每天:", 30, 50, 100, 20)

  74. $Label6 = GUICtrlCreateLabel("执行:", 30, 70, 80, 20)

  75. GUICtrlCreateGroup("", -99, -99, 1, 1)
  76. $Button1 = GUICtrlCreateButton("应用设置", 120, 270, 65, 25)
  77. GUICtrlSetColor(-1,0x110033)
  78. $Button2 = GUICtrlCreateButton("重置设置", 250, 270, 65, 25)
  79. GUICtrlSetColor(-1,0x110033)
  80. GUICtrlCreateGroup("", -99, -99, 1, 1)
  81. $Group4 = GUICtrlCreateGroup("", 20, 295, 380, 75)
  82. $Button3 = GUICtrlCreateButton("随系统启动", 27, 310, 75, 25)
  83. $Button4 = GUICtrlCreateButton("去除自启", 102, 310, 75, 25)
  84. $Button5 = GUICtrlCreateButton("重启主机", 177, 310, 75, 25)
  85. $Button6 = GUICtrlCreateButton("关闭主机", 252, 310, 75, 25)
  86. $Button7 = GUICtrlCreateButton("预留", 327, 310, 40, 25)
  87. $Button8 = GUICtrlCreateButton("隐藏窗口", 27, 340, 75, 25)
  88. $Button9 = GUICtrlCreateButton("系统启动免登录密码", 102, 340, 120, 25)
  89. GUISetState(@SW_SHOW)
  90. #EndRegion ### END Koda GUI section ###
  91. HotKeySet("^!f", "hotkey")
  92. Opt("TrayAutoPause",0)
  93. If RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","时间") <> "" Then;读取注册表指定的值
  94.         Opt("TrayMenuMode",0)

  95.                 Opt("TrayIconHide",0)
  96.         
  97. EndIf

  98. While 1
  99.         $Tray = TrayGetMsg();得到一个系统托盘图标项目产生的事件.
  100.         $msg = GUIGetMsg(1);捕获窗口消
  101.         Select
  102.         Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $Form0;如果点下的是$GUI_EVENT_CLOSE(关闭)
  103.                 Exit
  104.                 Case $msg[0] = $Button3
  105.                 RegRun();操作Func RegRun()设定事件
  106.                 MsgBox(0,"温馨提醒您:","已经在注册表写入开机自启动,请勿移动本程序到别的位置.")
  107.                 Case $msg[0] = $Button4
  108.                 RegDelete("HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun","定时工具")
  109.                         MsgBox(0,"温馨提醒您:","开机自动启动已从注册表中移除")        
  110.         Case $msg[0] = $Button5
  111.                 Shutdown(1);关机
  112.         Case $msg[0] = $Button6
  113.                 Shutdown(2);重启        
  114.                 Case $msg[0] = $Button7
  115.                 MsgBox(32,"温馨提醒您:","此窗口为其他功能预留。")        
  116.                 Case $msg[0] = $Button8
  117.                 Opt("TrayIconHide", 0) ;隐藏托盘区图标
  118.                                 Opt("TrayMenuMode",1)
  119.                                 GUISetState(@SW_HIDE,$Form0)
  120.                 Case $msg[0] = $Button9

  121.                                 Run("rundll32.exe netplwiz.dll,UsersRunDll")
  122.                                 Run("control userpasswords2")
  123.         Case $msg[0] = $GUI_EVENT_MINIMIZE;对话框窗口被最小化
  124.                 Opt("TrayMenuMode",1)
  125.                 GUISetState(@SW_HIDE,$Form0)
  126.                 TrayTip("关机助手","点击还原!",5,1)
  127.         Case $msg[0] = $Button2
  128.                 RegDelete("HKEY_LOCAL_MACHINESOFTWARETIME")
  129.                 GUICtrlSetData($Label4,"执行时间: 暂时未设置定时任务")
  130.                 TrayTip("通知您","当前任务已经清理完毕,可重新设定.",1,2)
  131.                 Case $msg[0] = $Button1
  132.                                 RegDelete("HKEY_LOCAL_MACHINESOFTWARETIME")
  133.         $SET = GUICtrlRead($Date1)
  134.                         If StringLen($SET) = 7 Then
  135.                         $SET = "0"&$SET
  136.             EndIf
  137.                         If GUICtrlRead($Radio1,0)=1 Then
  138.                                 $S1="重启"
  139.                         ElseIf GUICtrlRead($Radio2,0)=1 Then
  140.                                 $S1="关机"                                
  141.                         ElseIf GUICtrlRead($Radio3,0)=1 Then

  142.                                 $S1="强制重启"
  143.                         ElseIf GUICtrlRead($Radio4,0)=1 Then
  144.                                 $S1="强制关机"        
  145.                         ElseIf GUICtrlRead($Radio1,0)<>1 Or GUICtrlRead($Radio2,0)<>1 Or GUICtrlRead($Radio3,0)<>1 Or GUICtrlRead($Radio3,0)<>1 Then
  146.                                 $S1="强制重启"               
  147.                         EndIf
  148.                 $W1=GUICtrlRead($Checkbox1,1)
  149.                 $W2=GUICtrlRead($Checkbox2,0)
  150.                 $W3=GUICtrlRead($Checkbox3,0)
  151.                 $W4=GUICtrlRead($Checkbox4,0)
  152.                 $W5=GUICtrlRead($Checkbox5,0)
  153.                 $W6=GUICtrlRead($Checkbox6,0)
  154.                 $W7=GUICtrlRead($Checkbox7,0)
  155.                 $W8=GUICtrlRead($Checkbox8,0)        
  156.                ;ToolTip("1" & $W1 & "2" & $W2 & "3"  & $W3 & "4" & $W4 & "5"& $W5&  "6"& $W6 & "7"& $W7& "8" & $W8 & "......",0,0)
  157.                 Sleep(1000)
  158.                 If $W8=1 And ($W1=1 Or $W2=1 Or $W3=1 Or $W4=1 Or $W5=1 Or $W6=1 Or $W7=1 ) then
  159.                     $WEEK8="每日"
  160.                         RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","每日","REG_SZ",$WEEK8)         

  161.                 Else
  162.                         $WEEK8="每日"               
  163.                         RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","每日","REG_SZ",$WEEK8)
  164.                 EndIf
  165.                  If $W1=1 Then
  166.                         $WEEK1="星期一"
  167.                         RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期一","REG_SZ",$WEEK1)
  168.                   EndIf
  169.                   If $W2=1 Then
  170.                         $WEEK2="星期二"
  171.                         RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期二","REG_SZ",$WEEK2)
  172.                   EndIf
  173.                   If  $W3=1 Then
  174.                         $WEEK3="星期三"
  175.                         RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期三","REG_SZ",$WEEK3)
  176.                   EndIf
  177.                  If  $W4=1 Then
  178.                     $WEEK4="星期四"
  179.                         RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期四","REG_SZ",$WEEK4)
  180.                   EndIf
  181.                  If $W5=1 Then
  182.                     $WEEK5="星期五"

  183.                         RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期五","REG_SZ",$WEEK5)
  184.                   EndIf
  185.                  If $W6=1=1 Then
  186.                     $WEEK6="星期六"
  187.                         RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期六","REG_SZ",$WEEK6)
  188.                  EndIf
  189.                  If $W7=1=1 Then
  190.                     $WEEK7="星期日"
  191.                         RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期日","REG_SZ",$WEEK7)                        
  192.                  EndIf
  193.                
  194.                 RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","时间","REG_SZ",$SET)
  195.                 RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","事件","REG_SZ",$S1)
  196.                
  197.                
  198.                 TrayTip("通知","已经设定完成!请勿关闭程序,否则设定将不起作用.",1,2)
  199. EndSelect
  200.                
  201.         Switch $Tray
  202.                 Case $TRAY_EVENT_PRIMARYDOWN;按下了鼠标左键
  203.                         GUISetState(@SW_SHOW);激活指定窗口并使其以当前大小和位置信息显示
  204.         EndSwitch
  205.         $T1 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","时间")
  206.         $R0 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","事件")

  207.                 $WK1 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期一")
  208.                 $WK2 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期二")
  209.                 $WK3 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期三")
  210.                 $WK4 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期四")
  211.                 $WK5 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期五")
  212.                 $WK6 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期六")
  213.                 $WK7 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期日")
  214.                 $WK8 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","每日")
  215.                
  216.         If $T2 <> $T1 Or $R0 <> $R1 Then;"<>"比较是否不相等,不相等该表达返回1否则返回0
  217.                 $R1 = $R0
  218.                 $T2 = $T1
  219.                                 If $WK8="每日" Then
  220.                                 GUICtrlSetData($Label4,"每周:"&$WK8&"  "&$T1&"("&$R0&")")
  221.                                 Else
  222.                 GUICtrlSetData($Label4,"每周: "&$WK1&" "&$WK2&" "&$WK3&" "&$WK4&" "&$WK5&" "&$WK6&" "&$WK7&"  "&$T1&"("&$R0&")")
  223.                                 EndIf
  224.         EndIf
  225.         $T3 = @HOUR&":"&@MIN&":"&@SEC;$T3等于当前时间

  226.         If $T3 <> $T4 then
  227.                 $T4 = $T3
  228.                 GUICtrlSetData($Label3,""&@MON&"月"&@MDAY&"日 "&@HOUR&":"&@MIN&":"&@SEC&"  ");修改指定控件的相关数据
  229.         EndIf
  230.         If $T1 = $T3 Then
  231.                 If $R0 = "关机" Then;读取注册表值,当$RO值等于组合列表"关机"时,则执行$RNOW = 1
  232.                         $RNOW = 1;关机事件
  233.                 ElseIf $R0 = "重启" Then
  234.                         $RNOW = 2;重启事件
  235.                 ElseIf $R0 = "待机" Then
  236.                         $RNOW = 32;待机事件
  237.                 ElseIf $R0 = "休眠" Then
  238.                         $RNOW = 64;休眠事件
  239.                 ElseIf $R0 = "强制关机" Then
  240.                         $RNOW = 5;强行关机
  241.                 ElseIf $R0 = "强制重启" Then
  242.                         $RNOW = 6;强行重启
  243.                 EndIf
  244.                 Shutdown($RNOW);shutdown关机事件
  245.         EndIf
  246.         If RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","时间") <> "" Then
  247.         $T5 = StringReplace($T1,":","");替换字符串中的指定子串
  248.         $T6 = StringReplace($T3,":","")
  249.         If StringMid($T5,1,2)-StringMid($T6,1,2) = 0 Then
  250.                 If StringMid($T5,3,2) - StringMid($T6,3,2) = 0  Then

  251.                         If $T5-$T6 > 0 Then
  252.                         TrayTip("温馨提醒您:","还有"&$T5-$T6&"秒开始执行关机程序.....",10,1)
  253.                         EndIf
  254.                 Elseif StringMid($T5,3,2)-StringMid($T6,3,2) = 1  Then
  255.                 If StringMid($T5,5,2)+60-StringMid($T6,5,2) > 0 Then
  256.                 TrayTip("温馨提醒您:","还有"&StringMid($T5,5,2)+60-StringMid($T6,5,2)&"秒开始执行关机程序.....",10,1)
  257.                 EndIf
  258.         EndIf
  259. EndIf
  260. EndIf
  261. WEnd

  262. Func RegRun();修改注册表,添加程序开机自启动项
  263. dim $Run='HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun'
  264. RegWrite($Run,'定时工具','REG_SZ',@AutoItExe);@AutoItExe当前脚本的完整路径.
  265. EndFunc;

  266. Func hotkey()
  267. Opt("TrayIconHide", 1) ;隐藏托盘区图标
  268. Opt("TrayMenuMode",0)
  269. GUISetState(@SW_SHOW,$Form0)
  270. EndFunc;
複製代碼
  • 轉貼不附原文連結

    gilywu -10

簽到天數: 8

該用戶今日未簽到

發表於 2020-6-16 08:02 | 顯示全部樓層
請問會變亂碼,要怎麼解決呢?

使用道具

該用戶從未簽到

發表於 2020-6-16 12:34 | 顯示全部樓層
本帖最後由 maodou 於 2020-6-16 12:42 編輯
qqqwertyuiop 發表於 2020-6-16 08:02
請問會變亂碼,要怎麼解決呢?

轉成繁體字是可以的... (UTF-8)

  1.     #Region ;**** 由 AccAu3Wrapper_GUI 建立指令 ****
  2.     #AccAu3Wrapper_Icon=111.ico ;ICO檔案自己準備
  3.     #AccAu3Wrapper_OutFile=自動關機助手.exe
  4.     #AccAu3Wrapper_UseX64=n
  5.     #AccAu3Wrapper_Res_Comment=
  6.     #AccAu3Wrapper_Res_Description=
  7.     #AccAu3Wrapper_Res_Fileversion=1.0.0.1
  8.     #AccAu3Wrapper_Res_LegalCopyright=
  9.     #AccAu3Wrapper_Res_Language=2052
  10.     #AccAu3Wrapper_Res_requestedExecutionLevel=None
  11.     #EndRegion ;**** 由 AccAu3Wrapper_GUI 建立指令 ****
  12.     #Region ;**** 參數建立于 ACNWrapper_GUI ****
  13.     #EndRegion ;**** 參數建立于 ACNWrapper_GUI ****
  14.     #include <GUIConstantsEx.au3>
  15.     #include <StaticConstants.au3>
  16.     #include <WindowsConstants.au3>
  17.     #include <ButtonConstants.au3>
  18.     #include <ComboConstants.au3>
  19.     #include <GUIConstants.au3>
  20.     #include <DateTimeConstants.au3>
  21.     #Include <Constants.au3>
  22.     $Exists = "關機助手";判斷是否只執行一個程式
  23.     If WinExists($Exists) Then
  24.             MsgBox(32,"溫馨提醒您:","程式已經執行!")
  25.             Exit
  26.     EndIf
  27.             
  28.     ;AutoItWinSetTitle($Exists);修改程式視窗的標題名
  29.     FileCreateShortcut(@AutoItExe,@DesktopCommonDir&"定時工具");自動在桌面建立快捷方式!
  30.     $Combo1 = GUICtrlCreateCombo("", 120, 95, 80, 25);組合列表
  31.     $R1 = ""
  32.     $T1 = ""
  33.     $T2 = ""
  34.     $T3 = ""
  35.     $T4 = ""
  36.     $S1 = ""
  37.     $W1="0"
  38.     $W2="0"
  39.     $W3="0"
  40.     $W4="0"
  41.     $W5="0"
  42.     $W6="0"
  43.     $W7="0"

  44.     $Form0= GUICreate("關機助手", 420, 380, 500, 300);前面二個是大小,後面二個是座標
  45.     $Group1 = GUICtrlCreateGroup("關機時間設定(預設為每天)", 20, 110, 380, 95);前面二個是框座標,後面是大小
  46.     GUICtrlSetColor(-1,0x666666)
  47.     $Checkbox1 = GUICtrlCreateCheckbox("星期一", 40, 130, 65, 25);前面二個是座標,後面是自己佔用大小
  48.     $Checkbox2 = GUICtrlCreateCheckbox("星期二", 110, 130, 65, 25)
  49.     $Checkbox3 = GUICtrlCreateCheckbox("星期三", 180, 130, 65, 25)
  50.     $Checkbox4 = GUICtrlCreateCheckbox("星期四", 250, 130, 65, 25)
  51.     $Checkbox5 = GUICtrlCreateCheckbox("星期五", 320, 130, 65, 25)
  52.     $Checkbox6 = GUICtrlCreateCheckbox("星期六", 40, 170, 65, 25)
  53.     $Checkbox7 = GUICtrlCreateCheckbox("星期日", 110, 170, 65, 25)

  54.     $Checkbox8 = GUICtrlCreateCheckbox("每日", 180, 170, 50, 25)
  55.     $Label1 = GUICtrlCreateLabel("時間設定:", 240, 175, 65, 25)
  56.     GUICtrlSetState($Checkbox8, $GUI_CHECKED)
  57.     $Date1 = GUICtrlCreateDate("", 290, 170, 80, 20, BitOR($DTS_UPDOWN,$DTS_TIMEFORMAT,$WS_TABSTOP));時間選擇控制元件
  58.     GUICtrlCreateGroup("", -99, -99, 1, 1)
  59.     $Group2 = GUICtrlCreateGroup("關機操作(預設強制重啟)", 20, 210, 380, 50)
  60.     GUICtrlSetColor(-1,0x666666)
  61.     $Radio1 = GUICtrlCreateRadio("重啟", 60, 230, 65, 25)
  62.     $Radio2 = GUICtrlCreateRadio("關機", 140, 230, 65, 25)
  63.     $Radio3 = GUICtrlCreateRadio("強制重啟", 210, 230, 65, 25)
  64.     $Radio4 = GUICtrlCreateRadio("強制關機", 285, 230, 65, 25)
  65.     GUICtrlSetState($Radio3, $GUI_CHECKED)
  66.     GUICtrlCreateGroup("", -99, -99, 1, 1)
  67.     $Group3 = GUICtrlCreateGroup("", 20, 13, 380, 90)
  68.     $Label2 = GUICtrlCreateLabel("關機小程式", 140, 0, 120, 17)
  69.     GUICtrlSetColor(-1,0xbb0033);美化字型顏色
  70.     $Label3 = GUICtrlCreateLabel("", 290, 0, 108, 18)
  71.     GUICtrlSetColor(-1,0x440011)
  72.     $Label4 = GUICtrlCreateLabel("每週:", 30, 30, 360, 30)

  73.     $Label5 = GUICtrlCreateLabel("每天:", 30, 50, 100, 20)

  74.     $Label6 = GUICtrlCreateLabel("執行:", 30, 70, 80, 20)

  75.     GUICtrlCreateGroup("", -99, -99, 1, 1)
  76.     $Button1 = GUICtrlCreateButton("應用設定", 120, 270, 65, 25)
  77.     GUICtrlSetColor(-1,0x110033)
  78.     $Button2 = GUICtrlCreateButton("重置設定", 250, 270, 65, 25)
  79.     GUICtrlSetColor(-1,0x110033)
  80.     GUICtrlCreateGroup("", -99, -99, 1, 1)
  81.     $Group4 = GUICtrlCreateGroup("", 20, 295, 380, 75)
  82.     $Button3 = GUICtrlCreateButton("隨系統啟動", 27, 310, 75, 25)
  83.     $Button4 = GUICtrlCreateButton("去除自啟", 102, 310, 75, 25)
  84.     $Button5 = GUICtrlCreateButton("重啟主機", 177, 310, 75, 25)
  85.     $Button6 = GUICtrlCreateButton("關閉主機", 252, 310, 75, 25)
  86.     $Button7 = GUICtrlCreateButton("預留", 327, 310, 40, 25)
  87.     $Button8 = GUICtrlCreateButton("隱藏視窗", 27, 340, 75, 25)
  88.     $Button9 = GUICtrlCreateButton("系統啟動免登錄密碼", 102, 340, 120, 25)
  89.     GUISetState(@SW_SHOW)
  90.     #EndRegion ### END Koda GUI section ###
  91.     HotKeySet("^!f", "hotkey")
  92.     Opt("TrayAutoPause",0)
  93.     If RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","時間") <> "" Then;讀取註冊表指定的值
  94.             Opt("TrayMenuMode",0)

  95.                     Opt("TrayIconHide",0)
  96.             
  97.     EndIf

  98.     While 1
  99.             $Tray = TrayGetMsg();得到一個系統托盤圖示專案產生的事件.
  100.             $msg = GUIGetMsg(1);捕獲視窗消
  101.             Select
  102.             Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $Form0;如果點下的是$GUI_EVENT_CLOSE(關閉)
  103.                     Exit
  104.                     Case $msg[0] = $Button3
  105.                     RegRun();操作Func RegRun()設定事件
  106.                     MsgBox(0,"溫馨提醒您:","已經在註冊表寫入開機自啟動,請勿移動本程式到別的位置.")
  107.                     Case $msg[0] = $Button4
  108.                     RegDelete("HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun","定時工具")
  109.                             MsgBox(0,"溫馨提醒您:","開機自動啟動已從註冊表中移除")        
  110.             Case $msg[0] = $Button5
  111.                     Shutdown(1);關機
  112.             Case $msg[0] = $Button6
  113.                     Shutdown(2);重啟        
  114.                     Case $msg[0] = $Button7
  115.                     MsgBox(32,"溫馨提醒您:","此視窗為其他功能預留。")        
  116.                     Case $msg[0] = $Button8
  117.                     Opt("TrayIconHide", 0) ;隱藏托盤區圖示
  118.                                     Opt("TrayMenuMode",1)
  119.                                     GUISetState(@SW_HIDE,$Form0)
  120.                     Case $msg[0] = $Button9

  121.                                     Run("rundll32.exe netplwiz.dll,UsersRunDll")
  122.                                     Run("control userpasswords2")
  123.             Case $msg[0] = $GUI_EVENT_MINIMIZE;對話方塊視窗被最小化
  124.                     Opt("TrayMenuMode",1)
  125.                     GUISetState(@SW_HIDE,$Form0)
  126.                     TrayTip("關機助手","點選還原!",5,1)
  127.             Case $msg[0] = $Button2
  128.                     RegDelete("HKEY_LOCAL_MACHINESOFTWARETIME")
  129.                     GUICtrlSetData($Label4,"執行時間: 暫時未設定定時任務")
  130.                     TrayTip("通知您","目前任務已經清理完畢,可重新設定.",1,2)
  131.                     Case $msg[0] = $Button1
  132.                                     RegDelete("HKEY_LOCAL_MACHINESOFTWARETIME")
  133.             $SET = GUICtrlRead($Date1)
  134.                             If StringLen($SET) = 7 Then
  135.                             $SET = "0"&$SET
  136.                 EndIf
  137.                             If GUICtrlRead($Radio1,0)=1 Then
  138.                                     $S1="重啟"
  139.                             ElseIf GUICtrlRead($Radio2,0)=1 Then
  140.                                     $S1="關機"                                
  141.                             ElseIf GUICtrlRead($Radio3,0)=1 Then

  142.                                     $S1="強制重啟"
  143.                             ElseIf GUICtrlRead($Radio4,0)=1 Then
  144.                                     $S1="強制關機"        
  145.                             ElseIf GUICtrlRead($Radio1,0)<>1 Or GUICtrlRead($Radio2,0)<>1 Or GUICtrlRead($Radio3,0)<>1 Or GUICtrlRead($Radio3,0)<>1 Then
  146.                                     $S1="強制重啟"               
  147.                             EndIf
  148.                     $W1=GUICtrlRead($Checkbox1,1)
  149.                     $W2=GUICtrlRead($Checkbox2,0)
  150.                     $W3=GUICtrlRead($Checkbox3,0)
  151.                     $W4=GUICtrlRead($Checkbox4,0)
  152.                     $W5=GUICtrlRead($Checkbox5,0)
  153.                     $W6=GUICtrlRead($Checkbox6,0)
  154.                     $W7=GUICtrlRead($Checkbox7,0)
  155.                     $W8=GUICtrlRead($Checkbox8,0)        
  156.                    ;ToolTip("1" & $W1 & "2" & $W2 & "3"  & $W3 & "4" & $W4 & "5"& $W5&  "6"& $W6 & "7"& $W7& "8" & $W8 & "......",0,0)
  157.                     Sleep(1000)
  158.                     If $W8=1 And ($W1=1 Or $W2=1 Or $W3=1 Or $W4=1 Or $W5=1 Or $W6=1 Or $W7=1 ) then
  159.                         $WEEK8="每日"
  160.                             RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","每日","REG_SZ",$WEEK8)         

  161.                     Else
  162.                             $WEEK8="每日"               
  163.                             RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","每日","REG_SZ",$WEEK8)
  164.                     EndIf
  165.                      If $W1=1 Then
  166.                             $WEEK1="星期一"
  167.                             RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期一","REG_SZ",$WEEK1)
  168.                       EndIf
  169.                       If $W2=1 Then
  170.                             $WEEK2="星期二"
  171.                             RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期二","REG_SZ",$WEEK2)
  172.                       EndIf
  173.                       If  $W3=1 Then
  174.                             $WEEK3="星期三"
  175.                             RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期三","REG_SZ",$WEEK3)
  176.                       EndIf
  177.                      If  $W4=1 Then
  178.                         $WEEK4="星期四"
  179.                             RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期四","REG_SZ",$WEEK4)
  180.                       EndIf
  181.                      If $W5=1 Then
  182.                         $WEEK5="星期五"

  183.                             RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期五","REG_SZ",$WEEK5)
  184.                       EndIf
  185.                      If $W6=1=1 Then
  186.                         $WEEK6="星期六"
  187.                             RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期六","REG_SZ",$WEEK6)
  188.                      EndIf
  189.                      If $W7=1=1 Then
  190.                         $WEEK7="星期日"
  191.                             RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","星期日","REG_SZ",$WEEK7)                        
  192.                      EndIf
  193.                   
  194.                     RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","時間","REG_SZ",$SET)
  195.                     RegWrite("HKEY_LOCAL_MACHINESOFTWARETIME","事件","REG_SZ",$S1)
  196.                   
  197.                   
  198.                     TrayTip("通知","已經設定完成!請勿關閉程式,否則設定將不起作用.",1,2)
  199.     EndSelect
  200.                   
  201.             Switch $Tray
  202.                     Case $TRAY_EVENT_PRIMARYDOWN;按下了滑鼠左鍵
  203.                             GUISetState(@SW_SHOW);啟用指定視窗並使其以目前大小和位置資訊顯示
  204.             EndSwitch
  205.             $T1 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","時間")
  206.             $R0 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","事件")

  207.                     $WK1 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期一")
  208.                     $WK2 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期二")
  209.                     $WK3 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期三")
  210.                     $WK4 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期四")
  211.                     $WK5 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期五")
  212.                     $WK6 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期六")
  213.                     $WK7 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","星期日")
  214.                     $WK8 = RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","每日")
  215.                   
  216.             If $T2 <> $T1 Or $R0 <> $R1 Then;"<>"比較是否不相等,不相等該表達返回1否則返回0
  217.                     $R1 = $R0
  218.                     $T2 = $T1
  219.                                     If $WK8="每日" Then
  220.                                     GUICtrlSetData($Label4,"每週:"&$WK8&"  "&$T1&"("&$R0&")")
  221.                                     Else
  222.                     GUICtrlSetData($Label4,"每週: "&$WK1&" "&$WK2&" "&$WK3&" "&$WK4&" "&$WK5&" "&$WK6&" "&$WK7&"  "&$T1&"("&$R0&")")
  223.                                     EndIf
  224.             EndIf
  225.             $T3 = @HOUR&":"&@MIN&":"&@SEC;$T3等於目前時間

  226.             If $T3 <> $T4 then
  227.                     $T4 = $T3
  228.                     GUICtrlSetData($Label3,""&@MON&"月"&@MDAY&"日 "&@HOUR&":"&@MIN&":"&@SEC&"  ");修改指定控制元件的相關數據
  229.             EndIf
  230.             If $T1 = $T3 Then
  231.                     If $R0 = "關機" Then;讀取註冊表值,當$RO值等於組合列表"關機"時,則執行$RNOW = 1
  232.                             $RNOW = 1;關機事件
  233.                     ElseIf $R0 = "重啟" Then
  234.                             $RNOW = 2;重啟事件
  235.                     ElseIf $R0 = "待機" Then
  236.                             $RNOW = 32;待機事件
  237.                     ElseIf $R0 = "休眠" Then
  238.                             $RNOW = 64;休眠事件
  239.                     ElseIf $R0 = "強制關機" Then
  240.                             $RNOW = 5;強行關機
  241.                     ElseIf $R0 = "強制重啟" Then
  242.                             $RNOW = 6;強行重啟
  243.                     EndIf
  244.                     Shutdown($RNOW);shutdown關機事件
  245.             EndIf
  246.             If RegRead("HKEY_LOCAL_MACHINESOFTWARETIME","時間") <> "" Then
  247.             $T5 = StringReplace($T1,":","");替換字串中的指定子串
  248.             $T6 = StringReplace($T3,":","")
  249.             If StringMid($T5,1,2)-StringMid($T6,1,2) = 0 Then
  250.                     If StringMid($T5,3,2) - StringMid($T6,3,2) = 0  Then

  251.                             If $T5-$T6 > 0 Then
  252.                             TrayTip("溫馨提醒您:","還有"&$T5-$T6&"秒開始執行關機程式.....",10,1)
  253.                             EndIf
  254.                     Elseif StringMid($T5,3,2)-StringMid($T6,3,2) = 1  Then
  255.                     If StringMid($T5,5,2)+60-StringMid($T6,5,2) > 0 Then
  256.                     TrayTip("溫馨提醒您:","還有"&StringMid($T5,5,2)+60-StringMid($T6,5,2)&"秒開始執行關機程式.....",10,1)
  257.                     EndIf
  258.             EndIf
  259.     EndIf
  260.     EndIf
  261.     WEnd

  262.     Func RegRun();修改註冊表,新增程式開機自啟動項
  263.     dim $Run='HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun'
  264.     RegWrite($Run,'定時工具','REG_SZ',@AutoItExe);@AutoItExe目前指令碼的完整路徑.
  265.     EndFunc;

  266.     Func hotkey()
  267.     Opt("TrayIconHide", 1) ;隱藏托盤區圖示
  268.     Opt("TrayMenuMode",0)
  269.     GUISetState(@SW_SHOW,$Form0)
  270.     EndFunc;
複製代碼

使用道具

您需要登入後才可以回帖 登入 | 註冊

本版積分規則

Discuz! X

© 2009-2017 Microduo

快速回覆 返回頂部 返回列表