Компьютерный форум 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=199905)

trudmoy 19-02-2011 09:46 1616806

скрипт не работает на другом компьютере
 
Скрипт не работает на другом компьютере. Не срабатывает поиск пикселя по цвету, не создает текстовый файл, не закрывает окна, а на моем компьютере все ок. Помогите, пожалуйста.
Код:

#include <IE.au3> #Include <Array.au3>
Global $n,$oSabmit,$Links,$var,$title,$hFile,$Otchet[100],$i,$pos
Global Const $sProIDText = "Автопилот" Opt("TrayIconDebug",1)
 #Include <Misc.au3>
If NOT _Singleton($sProIDText, 1) Then
MsgBox(48, 'Внимание', 'Одна копия программы уже запущена') _MyExit()
 EndIf
For $i=1 to 1 Step 1 HotKeySet("{ESC}", "_MyExit") ;Esc - выход
$oIE = _IECreate("http://travelpluse.weebly.com") _IELoadWait ($oIE)
$n = Random(7,28,1)
$oSubmit =_IEGetObjByName($oIE,"tasemcity01")
 If @Error = 0 Then _IELoadWait ($oIE) _IELinkClickByIndex ($oSubmit,$n,0) ;выбор страны
 Sleep(5000) EndIf _IELoadWait ($oIE)
$coord = PixelSearch(0,0,1024 ,728, 0xFFD46C)
 If Not @error Then
 $pos = MouseGetPos()
MouseClick("left",$coord[0],$coord[1],1) ; просмотр цен
MouseMove($pos[0],$pos[1], 1)
 If WinExists("Предупреждение системы безопасности") Then
 Send("{Enter}")
EndIf
EndIf
Sleep(15000)
 _IELoadWait ($oIE)
Opt("WinTitleMatchMode", 2)
While WinActive("Microsoft Internet Explorer")
WinActivate("Microsoft Internet Explorer")
$title = WinGetTitle("Microsoft Internet Explorer")
$hFile = FileOpen(@ScriptDir & '\Otchet.txt', 1) ;открываем файл
FileWriteLine($hFile, $title & @CRLF) ;записывем в него ссылку страницы
FileClose($hFile) ;закрываем файл
If BitAND(WinGetState($title), 2) Then WinSetState($title, "", @SW_MAXIMIZE)
$n = Random(5000,10000,1000)
Sleep($n)
WinKill($title)
EndIf
WEnd
$n = Random(3000,7000,1000)
Sleep($n)
 Next
 MsgBox(0,"НЕ ЗАБУДЬ!","ОТПРАВЬ ОТЧЕТ АВТОПИЛОТА")
 Func _MyExit()
If ProcessExists('IEXPLORE.EXE') Then ProcessClose('IEXPLORE.EXE')
Exit
EndFunc ;==>_MyExit


Creat0R 19-02-2011 14:11 1616978

Цитата:

Цитата trudmoy
Скрипт не работает на другом компьютере. »

Такой скрипт не будет работать ни на каком компьютере.

trudmoy 19-02-2011 15:15 1617004

На моем работает. Несколько подправил бардак по совету умных людей - результата пока нет.
Ирония - это хорошо, помощи бы еще. Я юноша в программировании или мальчик:)), как больше нравится. "Магические" задержки по времени нужны по задумке.
Код:

#include <IE.au3>
#Include <Array.au3>
#Include <Misc.au3>
Opt('TrayIconDebug', 1)
Opt('WinTitleMatchMode', 2)
HotKeySet('{ESC}', '_MyExit')
Global $oSabmit, $Links, $var, $title, $hFile, $Otchet[100], $i, $pos
Global Const $sProIDText = 'Автопилот'
If Not _Singleton($sProIDText, 1) Then
MsgBox(48, 'Внимание', 'Одна копия программы уже запущена') _MyExit()
EndIf
For $i=1 to 1
$oIE = _IECreate('http://travelpluse.weebly.com')
$oSubmit = _IEGetObjByName($oIE, 'tasemcity01')
If @error == 0 Then _IELinkClickByIndex($oSubmit, Random(7, 28, 1), 0)
Sleep(5000)
 Else
MsgBox(48, '', 'Ссылки не нашел')
EndIf
$coord = PixelSearch(0, 0, 1024, 728, 0xFFD46C)
If @error==0 Then
MouseClick('left', $coord[0], $coord[1],1) ; проверка цены
$pos = MouseGetPos()
MouseMove($pos[0], $pos[1], 1)
 Else
MsgBox(48, '', 'Пикселя нет')
Sleep(1000)
If WinExists('Предупреждение системы безопасности') Then Send('{Enter}')
EndIf Sleep(15000)
 _IELoadWait($oIE)
While WinActive('Microsoft Internet Explorer')
$title = WinGetTitle('Microsoft Internet Explorer')
FileWriteLine(@ScriptDir & '\Otchet.txt', $title & @CRLF)
If BitAND(WinGetState($title), 2) Then
Sleep(Random(5000,10000,1000))
WinKill($title)
EndIf
WEnd
Sleep(Random(3000,7000,1000))
Next
MsgBox(48, 'НЕ ЗАБУДЬ!', 'ОТПРАВЬ ОТЧЕТ АВТОПИЛОТА')
Func _MyExit()
If ProcessExists('IEXPLORE.EXE') Then ProcessClose('IEXPLORE.EXE')
Exit
EndFunc ;==>_MyExit



Время: 03:56.

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