Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата samara_andrey:
ВОТ! "в чем разница между запуском через автозагрузку и просто кликом " - это и стало главным вопросом на который мы пока не нашли ответа!!! »
Ответ на это уже вроде озвучили - При запуске в автозагрузке скрипт выполняется с другими условиями, например (в Vista возможно это так) не разрешается запуск програм или закачка файлов пока не запустится в системе какой то сервис, контролирующий всё это дело.

Чтобы найти решение, нужно добавить проверки на ошибочность, вот так:

Код: Выделить весь код
#NoTrayIcon

Sleep(5000)

$iRet = InetGet("ftp://0000:0000000000@ftp.narod.ru/ini.ini", "ini.ini", 1)
If Not $iRet Then _ShowError_Proc(1, 'InetGet("ftp://0000:0000000000@ftp.narod.ru/ini.ini", "ini.ini", 1)')

$file = FileOpen("ini.ini", 0)
If $file = -1 Then _ShowError_Proc(2, '$file = FileOpen("ini.ini", 0)')

$chars = FileRead($file)
$file1 = FileOpen("dataini.ini", 0)
If $file1 = -1 Then _ShowError_Proc(3, '$file1 = FileOpen("dataini.ini", 0)')

$chars1 = FileRead($file1)

If $chars <= $chars1 Then
    Run("installupdate.exe", "", @SW_HIDE)
    If @error Then _ShowError_Proc(4, 'Run("installupdate.exe", "", @SW_HIDE)')

    Run("rec.exe", "", @SW_HIDE)
    If @error Then _ShowError_Proc(5, 'Run("rec.exe", "", @SW_HIDE)')

    Sleep(30000); pause 0.5 min

    FileDelete("installupdate.exe")
    FileClose($file)
    FileDelete("ini.ini")

    Exit
Else
    FileClose($file)
    FileClose($file1)

    Sleep(5000) ; pause 5 sec

    $iRet = InetGet("ftp://0000:0000000000@ftp.narod.ru/rec.jpg", "rec.jpg", 1)
    If Not $iRet Then _ShowError_Proc(6, 'InetGet("ftp://0000:0000000000@ftp.narod.ru/rec.jpg", "rec.jpg", 1)')

    $iRet = InetGet("ftp://0000:0000000000@ftp.narod.ru/rec2.jpg", "rec2.jpg", 1)
    If Not $iRet Then _ShowError_Proc(7, 'InetGet("ftp://0000:0000000000@ftp.narod.ru/rec2.jpg", "rec2.jpg", 1)')

    $iRet = InetGet("ftp://0000:0000000000@ftp.narod.ru/rec3.jpg", "rec3.jpg", 1)
    If Not $iRet Then _ShowError_Proc(8, 'InetGet("ftp://0000:0000000000@ftp.narod.ru/rec3.jpg", "rec3.jpg", 1)')

    $iRet = InetGet("ftp://0000:0000000000@ftp.narod.ru/rec4.jpg", "rec4.jpg", 1)
    If Not $iRet Then _ShowError_Proc(9, 'InetGet("ftp://0000:0000000000@ftp.narod.ru/rec4.jpg", "rec4.jpg", 1)')

    $iRet = InetGet("ftp://0000:0000000000@ftp.narod.ru/rec5.jpg", "rec5.jpg", 1)
    If Not $iRet Then _ShowError_Proc(10, 'InetGet("ftp://0000:0000000000@ftp.narod.ru/rec5.jpg", "rec5.jpg", 1)')

    $iRet = InetGet("ftp://0000:0000000000@ftp.narod.ru/rec6.jpg", "rec6.jpg", 1)
    If Not $iRet Then _ShowError_Proc(11, 'InetGet("ftp://0000:0000000000@ftp.narod.ru/rec6.jpg", "rec6.jpg", 1)')

    $iRet = InetGet("ftp://0000:0000000000@ftp.narod.ru/rec7.jpg", "rec7.jpg", 1)
    If Not $iRet Then _ShowError_Proc(12, 'InetGet("ftp://0000:0000000000@ftp.narod.ru/rec7.jpg", "rec7.jpg", 1)')

    $iRet = InetGet("ftp://0000:0000000000@ftp.narod.ru/rec8.jpg", "rec8.jpg", 1)
    If Not $iRet Then _ShowError_Proc(13, 'InetGet("ftp://0000:0000000000@ftp.narod.ru/rec8.jpg", "rec8.jpg", 1)')

    $iRet = InetGet("ftp://0000:0000000000@ftp.narod.ru/rec9.jpg", "rec9.jpg", 1)
    If Not $iRet Then _ShowError_Proc(14, 'InetGet("ftp://0000:0000000000@ftp.narod.ru/rec9.jpg", "rec9.jpg", 1)')

    $iRet = InetGet("ftp://0000:0000000000@ftp.narod.ru/rec10.jpg", "rec10.jpg", 1)
    If Not $iRet Then _ShowError_Proc(15, 'InetGet("ftp://0000:0000000000@ftp.narod.ru/rec10.jpg", "rec10.jpg", 1)')

    $iRet = InetGet("ftp://0000:0000000000@ftp.narod.ru/installupdate.exe", "installupdate.exe", 1)
    If Not $iRet Then _ShowError_Proc(16, 'InetGet("ftp://0000:0000000000@ftp.narod.ru/installupdate.exe", "installupdate.exe", 1)')

    Sleep(5000);pause 5 sec

    Run("installupdate.exe", "", @SW_HIDE)
    If @error Then _ShowError_Proc(17, 'Run("installupdate.exe", "", @SW_HIDE)')

    Run("rec.exe", "", @SW_HIDE)
    If @error Then _ShowError_Proc(18, 'Run("rec.exe", "", @SW_HIDE)')

    Sleep(30000); pause 0.5 min

    FileDelete("installupdate.exe")
    FileDelete("ini.ini")

    $file1 = FileOpen("dataini.ini", 2)
    If $file1 = -1 Then _ShowError_Proc(19, '$file1 = FileOpen("dataini.ini", 2)')

    FileWrite($file1, $chars)
    FileClose($file1)
EndIf

Func _ShowError_Proc($iError, $sErrMsg)
    MsgBox(262144+16, "MyApp - Error", StringFormat("Error Number: %i\n\nError Line:\n%s\n\nOK ===> EXIT", $iError, $sErrMsg))
    Exit
EndFunc
Если появится сообщение об ошибке при автозапуске, значит нужно копать в сторону этой ошибки (будет выведена строка вызывающая ошибку, а также порядковый номер ошибки, для лучшего распознавания).

Цитата samara_andrey:
вот кстати народ вам живой пример для размышления! »
Я если честно долго не размышлял, тут проблема ясна, при запуске с автозагрузки программа не может найти путь к файлу изображения - Нужно указывать полный путь. Видимо таже проблема и в первом скрипте

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 18:54, 12-09-2008 | #887