Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Помогите найти ошибку в скрипте (http://forum.oszone.net/showthread.php?t=153751)

Anarasius 20-10-2009 14:13 1247866

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

#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 нет.
Если вручную перезапустить скрипт то все ОК.
Где я допустил ошибку? СПАСИБО

Creat0R 20-10-2009 14:39 1247893

Цитата:

Цитата Anarasius
сам скрипт загружается но программа test.exe нет. »

Значит видимо процесс test.exe уже загружен :)

Anarasius 20-10-2009 14:43 1247898

нет, я бы увидел

FlatX007 21-10-2009 07:22 1248412

Ошибок мульён :)

Код:

#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


me4enyi 03-01-2010 21:38 1310052

Ну и мне пожалуй в эту тему...
Ситуация такая. Скриптом запускается 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.

Время: 19:19.
© OSzone.net 2001-