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:
вот кстати народ вам живой пример для размышления! »
|
Я если честно долго не размышлял, тут проблема ясна, при запуске с автозагрузки программа не может найти путь к файлу изображения  - Нужно указывать полный путь. Видимо таже проблема и в первом скрипте 
|