timsky
 
  
  Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Maza Faka   Спасибо... щас проснусь и поковыряю то, что ты дал      Цитата:|  А не проще ли загрузить файл используя функцию InetGet()?  |      Это как? Вот например, я слепил аплоадер файлов на rapidshare.com и хочу, чтобы он в фоне все это делал. Как при помощи InetGet это реализовать не представляю себе.   Даже если на рапиде этот трюк как-то можно приладить - мне все равно это нужно для более сложной софтины, которая очень много действий делает при помощи _IE...().   Да и вообще неужели это никак по другому не обойти? Вот для примера мой аплоадер на рапиду:    Код: #include <IE.au3>   #include <Constants.au3>      AutoItSetOption('TrayAutoPause', 0)   AutoItSetOption("TrayOnEventMode", 1)   AutoItSetOption('TrayIconDebug', 1)   AutoItSetOption('WinTitleMatchMode', 2)   TrayItemSetText($TRAY_ITEM_PAUSE, "Pause")   TrayItemSetText($TRAY_ITEM_EXIT, "Exit")      If $CmdLineRaw = '' Then Exit      ;======= Wait for finish of running copy ==========      While WinExists(@ScriptName)       WinWaitClose(@ScriptName)       Sleep(1000)   WEnd      AutoItWinSetTitle(@ScriptName)      ;========= Reading CONFIG ========      $debug = IniRead(@ScriptDir & '\config.ini', 'Main', 'Debug', '')   If $debug = '' Or $debug = 0 Then       $debug = 0   Else       $debug = 1   EndIf      $tip = IniRead(@ScriptDir & '\config.ini', 'Main', 'Tip', '')   If $tip = '' Or $tip = 0 Then       $tip = 10000   Else       $tip = $tip * 1000   EndIf      ;============= MAIN ===============      TraySetToolTip('Rapida Uploader')      Global $rapida, $file      $file = StringReplace($CmdLineRaw, '"', '')   ;MsgBox(64, $CmdLineRaw, $file)      _IELoadWaitTimeout(3600000)      Submit()      While 1       $body = _IEBodyReadText($rapida)       Select           Case StringInStr($body, 'to delete file')               $link = StringRegExp($body, '.*(http://rapidshare.com/files/.*)\r\n.*', 1)               $downLink = $link[0]               $link = StringRegExp($body, '.*?killcode=(.*)\r\n.*', 1)               $delLink = $downLink & '?killcode=' & $link[0]               If @error Then                   MsgBox(16, 'WTF???', 'Can not get links!')                   ExitLoop               EndIf               $toFile = $downLink & @CRLF & $delLink               $dump = FileOpen($file & '.txt', 2)               FileWrite($dump, $toFile)               FileClose($dump)               ClipPut($downLink)               TrayTip('Dowload Link is in ClipBoard.', 'Download and Delete links are saved in ' & @CRLF & $file & '.txt', 5, 1)               Sleep($tip)               ExitLoop           Case StringInStr($body, 'no file chosen')               _IEAction($rapida, 'quit')               Submit()           Case Else               MsgBox(16, '', 'WTF?')               _IEAction($rapida, 'quit')               Submit()       EndSelect       Sleep(500)   WEnd      _IEAction($rapida, 'quit')      Func Submit()       $rapida = _IECreate('http://www.rapidshare.com/', 0, $debug)       $form = _IEFormGetObjByName($rapida, 'ul')       $fileBox = _IEFormElementGetObjByName($form, 'filecontent')       $clip = ClipPut($file)       _IEAction($fileBox, 'focus')          If $debug = 0 Then _IEAction($rapida, 'visible')       Send('^v')       If $debug = 0 Then _IEAction($rapida, 'invisible')          _IEFormSubmit($form, 0)       _IELoadWait($rapida)   EndFunc   ;==>Submit  |         Так вот MsgBox(16, 'WTF???', 'Can not get links!') происходит довольно часто, если я в процессе аплоада работаю, а если еще и буфер обмена глюкнет из-за пунты - вообще жопа. |   Всего записей: 2287 | Зарегистр. 08-06-2004 | Отправлено:  14:24 23-10-2008  | Исправлено: timsky,   14:28 23-10-2008    |  
  |