Помогите найти ошибку в скрипте

Ответить
Аватара пользователя
Anarasius

Помогите найти ошибку в скрипте

Сообщение Anarasius »

Код:

Код: Выделить всё

#NoTrayIcon
#include 
;
_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 нет.

Если вручную перезапустить скрипт то все ОК.

Где я допустил ошибку? СПАСИБО
Аватара пользователя
Creat0R

Re: Помогите найти ошибку в скрипте

Сообщение Creat0R »

Цитата Anarasius:



сам скрипт загружается но программа test.exe нет.
Помогите найти ошибку в скрипте




Значит видимо процесс test.exe уже загружен Изображение
Аватара пользователя
Anarasius

Re: Помогите найти ошибку в скрипте

Сообщение Anarasius »

Ошибок мульён Изображение





Код:

Код: Выделить всё

#NoTrayIcon
#include 
_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
Аватара пользователя
me4enyi

Re: Помогите найти ошибку в скрипте

Сообщение me4enyi »

Ну и мне пожалуй в эту тему...

Ситуация такая. Скриптом запускается 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
Ответить

Вернуться в «AutoIt»