-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
Помогите найти ошибку в скрипте
Код:
#NoTrayIcon
#include <Misc.au3>
;
_Singleton(@ScriptName)
;Задаём опции трея (меню пользователя)
Opt("TrayMenuMode", 1)
;Создаём пункты в значке трея
Global $nAbout_TrayItem = TrayCreateItem("О Программе")
;Задаём состояние трея
TraySetToolTip("test")
TraySetIcon("Shell32.dll", 22)
TraySetClick(8)
TraySetState()
;Указываем программу(ы) для запуска
Global $aRun_Apps = StringSplit(@ProgramFilesDir & '\test\test.exe', "|")
;Добавляем программу в автозапуск
If RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName) = "" Then _
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", '"' & @ScriptFullPath & '"')
;Запускаем функцию _Check_Run_Proc() каждые 2 минуты
AdlibEnable("_Check_Run_Proc", 120000)
Call("_Check_Run_Proc")
;Главный цикл
While 1
Switch TrayGetMsg()
Case $nAbout_TrayItem
MsgBox(270400,"О Программе", "2009г.", 5)
EndSwitch
WEnd
Func _Check_Run_Proc()
If Not ProcessExists('test.exe') Then Run(@ProgramFilesDir & '\test\test.exe')
EndFunc
Скрипт работает, но при перезагрузки он не запускает(через автозапуск) приложение. т.е. сам скрипт загружается но программа test.exe нет.
Если вручную перезапустить скрипт то все ОК.
Где я допустил ошибку? СПАСИБО
|
Цитата:
Цитата Anarasius
сам скрипт загружается но программа test.exe нет. »
|
Значит видимо процесс test.exe уже загружен :)
|
Ошибок мульён :)
Код:
#NoTrayIcon
#include <Misc.au3>
_Singleton(@ScriptName)
Opt("TrayMenuMode", 1)
$nAbout_TrayItem = TrayCreateItem("О Программе")
TrayCreateItem("")
$nExit = TrayCreateItem("Exit")
TraySetToolTip("test")
TraySetIcon("Shell32.dll", 22)
TraySetClick(8)
TraySetState()
Global $sPathFull = @ProgramFilesDir & "\test"
Global $aRun_Apps = StringSplit("test.exe|test2.exe|test3.exe", "|")
;~ If RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName) = "" Then _
;~ RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", '"' & @ScriptFullPath & '"')
Call("_Check_Run_Proc")
AdlibEnable("_Check_Run_Proc", 3000)
While 1
Switch TrayGetMsg()
Case $nAbout_TrayItem
MsgBox(270400,"О Программе", "2009г.", 5)
Case $nExit
Exit
EndSwitch
WEnd
Func _Check_Run_Proc()
For $i = 1 To $aRun_Apps[0]
If Not ProcessExists($aRun_Apps[$i]) Then
Run($sPathFull & "\" & $aRun_Apps[$i])
ConsoleWrite("Run - " & $aRun_Apps[$i] & @CRLF)
Sleep(300) ; -------- !!!
EndIf
Next
EndFunc
|
Ну и мне пожалуй в эту тему...
Ситуация такая. Скриптом запускается exe.
Если это первый запуск, то выскакивает окно Ready to go? нужно нажать кнопку Да,
если запуск не первый, то выскакивает окно Warning нужно выбрать ответ Нет.
Код:
Run ("CW.exe")
WinWaitActive('Chew0.9')
Opt("MouseCoordMode",2)
MouseClick("left", 301, 205)
If WinExists("Ready to go?","",2) Then
ControlClick ( "Ready to go?", "", "[CLASS:Button; INSTANCE:1]" )
Else
If WinExists("Warning","",2) Then
ControlClick ( "Warning", "", "[CLASS:Button; INSTANCE:2]" )
Exit
EndIf
EndIf
|
Время: 19:19.
© OSzone.net 2001-