Цитата:
Цитата Anarasius
И если комп был в это время выключен то программа должна запуститься при его включении. Заранее спасибо! »
|
Все самое главное забыли :tongue:
Вот ... извиняйте если что забыл :) (Оставлю ка я себе програмку пригодится)
Количество "чисел" для запуска вроде как неограничено, можно хоть 20 раз за месяц...
Код:
#NoTrayIcon
#include <File.au3>
If WinExists(@ScriptName) Then _Exit()
AutoItWinSetTitle(@ScriptName)
Opt("TrayMenuMode",1)
TraySetClick(8)
TraySetIcon("Shell32.dll", 25)
TraySetToolTip ("Планировщик запуска")
HotKeySet("!p", "_Exit") ; Alt + P выход
Global $IniFile = @ScriptDir & "/Data_" & @ScriptName & ".ini"
Global $iMDAY
Global $NumberMonth[3]
$NumberMonth[0] = 10 ; Нужные числа для запуска
$NumberMonth[1] = 20
$NumberMonth[2] = 28
Global Const $iNumberNull = $NumberMonth[0]
If Not FileExists($IniFile) Then _FileCreate($IniFile)
If @Compiled = 1 Then
If RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName) = "" Then
$iMsgBox = MsgBox(266532,"","Поместить программу в автозагрузку ?")
If $iMsgBox = 6 Then RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", '"' & @ScriptFullPath & '"')
EndIf
EndIf
$nAbout = TrayCreateItem("Тут цопирайты (С) :)")
TrayCreateItem("")
$nExit = TrayCreateItem("Выйти из планировщика задачь")
TraySetState()
$iIniRead = IniRead($IniFile, "Data", "Run", 0)
If $iIniRead = 0 Then IniWrite($IniFile, "Data", "Run", "<" & @MDAY & "> <" & @MON & ">")
$aiArray = StringRegExp($iIniRead, '<(.*?)>', 3)
If Not (@error) Then
If @MDAY > $aiArray[0] Then $NumberMonth[0] = @MDAY
If @MON <> $aiArray[1] Then $NumberMonth[0] = @MDAY
EndIf
While 1
Switch TrayGetMsg()
Case $nExit
_Exit()
Case $nAbout
MsgBox(270400,"About", "Цопирайтинг (С) 2009", 5)
Case Else
If @MDAY <> $iMDAY Then
For $iI = 0 To UBound($NumberMonth) - 1
If @MDAY = $NumberMonth[$iI] Then
TraySetIcon("Shell32.dll", 246)
TrayTip("Запускаем ...", "Планироващик задачь", 0, 1)
RunWait("notepad") ; Программа для запуска
IniWrite($IniFile, "Data", "Run", "<" & @MDAY & "> <" & @MON & ">")
$NumberMonth[0] = $iNumberNull
TraySetIcon("Shell32.dll", 25)
ExitLoop
EndIf
Next
EndIf
$iMDAY = @MDAY
EndSwitch
WEnd
Func _Exit()
Exit
EndFunc
|