Имя пользователя:
Пароль:
 

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

Googler


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

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


Цитата Creat0R:
нужной инфы я там не нашёл »
Цитата:
Добавляет Мой Компьютер,Мои Документы,Мое Сетевое окружение,Internet Explorer на Рабочий Стол
Цитата Creat0R:
как Punto Switcher распознаёт текст в любом месте? »
как тебе точка зрения Absurd: http://forum.developing.ru/archive/i...hp/t-1365.html
у меня получилось только открывать/читать URL непосредственно с вкладок:
Код: Выделить весь код
Global Const $DMLERR_NO_ERROR = 0x0
Global Const $DMLERR_ADVACKTIMEOUT = 0x4000
Global Const $DMLERR_BUSY = 0x4001
Global Const $DMLERR_DATAACKTIMEOUT = 0x4002
Global Const $DMLERR_DLL_NOT_INITIALIZED = 0x4003
Global Const $DMLERR_DLL_USAGE = 0x4004
Global Const $DMLERR_EXECACKTIMEOUT = 0x4005
Global Const $DMLERR_INVALIDPARAMETER = 0x4006
Global Const $DMLERR_LOW_MEMORY = 0x4007
Global Const $DMLERR_MEMORY_ERROR = 0x4008
Global Const $DMLERR_NOTPROCESSED = 0x4009
Global Const $DMLERR_NO_CONV_ESTABLISHED = 0x400A
Global Const $DMLERR_POKEACKTIMEOUT = 0x400B
Global Const $DMLERR_POSTMSG_FAILED = 0x400C
Global Const $DMLERR_REENTRANCY = 0x400D
Global Const $DMLERR_SERVER_DIED = 0x400E
Global Const $DMLERR_SYS_ERROR = 0x400F
Global Const $DMLERR_UNADVACKTIMEOUT = 0x4010
Global Const $DMLERR_UNFOUND_QUEUE_ID = 0x4011

; Возвращает/открывает URL страницы на заданной вкладке Оперы.
; $sURL - адрес открываемой страницы,
;   если задана пустая строка возвращает адрес заданного окна.
; $hWin - номер вкладки обозревателя,
;    0 новая вкладка (при открытии),
;   -1 текущая вкладка.
; $iWait - таймаут ожидания в миллисекундах, при превышении будет выдана ошибка.
Func OperaOpenURL($sURL = "", $hWin = -1, $iWait = 10000)
    Local $ret, $err, $uIdInst = DllStructCreate("int")
    Local $hServer[1], $hTopic[1], $hItem[1], $hConv[1], $hData[1], $sData[1]
    Local $sTopic = "WWW_OpenURL", $sItem = $sURL&',,0x'&Hex($hWin)
    If $sURL='' Then
         $sTopic = "WWW_GetWindowInfo"
        $sItem = "0x"&Hex($hWin)
    EndIf
    Local $hDll = DllOpen("user32.dll")
    If $hDll=-1 Then Return SetError(1, 0, "") ; Ошибка открытия DLL
    $ret = DllCall("user32.dll", "int", "DdeInitialize", "ptr", DllStructGetPtr($uIdInst), "ptr", 0, "int", 0, "int", 0)
    If $ret[0] Then Return SetError(2, $ret[0], "") ; Ошибка инициализации DDE
    $hServer = DllCall($hDll, "int", "DdeCreateStringHandle", "int", DllStructGetData($uIdInst,1), "str", "opera", "int", 1004)
    If $hServer[0] Then
        $hTopic = DllCall($hDll, "int", "DdeCreateStringHandle", "int", DllStructGetData($uIdInst,1), "str", $sTopic, "int", 1004)
        If $hTopic[0] Then
            $hItem = DllCall($hDll, "int", "DdeCreateStringHandle", "int", DllStructGetData($uIdInst,1), "str", $sItem, "int", 1004)
            If $hItem[0] Then
                $hConv = DllCall($hDll, "int", "DdeConnect", "int", DllStructGetData($uIdInst,1), "int", $hServer[0], "int", $hTopic[0], "int", 0)
                If $hConv[0] Then
                    $hData = DllCall($hDll, "int", "DdeClientTransaction", "ptr", 0, "int", 0, "int", $hConv[0], "int", $hItem[0], "int", 1, "int", 0x20B0, "int", $iWait, "ptr", 0)
                    If $hData[0] Then
                        $sData = DllCall($hDll, "str", "DdeAccessData", "int", $hData[0], "ptr", 0)
                    EndIf
                EndIf
            EndIf
        EndIf
    EndIf
    $err = DllCall($hDll, "int", "DdeGetLastError", "int", DllStructGetData($uIdInst,1))
    If $hData[0] Then DllCall($hDll, "int", "DdeFreeDataHandle", "int", $hData[0])
    If $hConv[0] Then DllCall($hDll, "int", "DdeFreeDataHandle", "int", $hConv[0])
    If $hItem[0] Then DllCall($hDll, "int", "DdeFreeDataHandle", "int", $hItem[0])
    If $hTopic[0] Then DllCall($hDll, "int", "DdeFreeDataHandle", "int", $hTopic[0])
    If $hServer[0] Then DllCall($hDll, "int", "DdeFreeDataHandle", "int", $hServer[0])
    If $err[0] Then Return SetError(3, $err[0], "") ; Другие ошибки DDE
    DllCall($hDll, "int", "DdeUninitialize", "int", DllStructGetData($uIdInst,1))
    DllClose($hDll)
    If $sURL='' Then $sURL = StringRegExpReplace($sData[0],'^"([^"]*?)".*','\1')
    Return $sURL
EndFunc
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:03, 08-10-2007 | #567