dscale

Need to make browser open webpage

4 posts in this topic

I am using a browser called CocCoc. Now the thing with this browser it is stored in a relative directory. C:\Users\(Username)\AppData\Local\CocCoc\Browser\Application\Browser.exe

How can I create a script that will call upon this exe and add the website at the end of it, so it will load the website.

In addition I would like it to wait for the site to load, and if it does not within a certain time from to reload the site. If the site is loaded, just to do nothing

Share this post


Link to post
Share on other sites



hey friend, which browser?

 

I found this!

OpenGetURL("http://autoitscript.com", 0, 0, "firefox")

;===============================================================================
;
; Function Name:  OpenGetURL()
;
; Parameter(s):     $sURL           [optional] Address of page to open,
;                                   if this is empty string (default), then returned Url from address field of particular tab.
;                   $hWin           [optional] Number of tab:
;                                       -1 = Current tab.
;                                       0 = New tab (when opening).
;                   $RetType        [optional] Definds returned value:
;                                       0 = String with Title and URL address.
;                                       1 = Array with 3 elements...
;                                           [0] = Title
;                                           [1] = URL address
;                                           [2] = String with Title And URL address.
;                   $Server         [optional] Serever to open/get Url in/from.
;                   $iWait          [optional] Waiting Timeout in milliseconds, on overload will return an error.
;
; Requirement(s):   None
; Return Value(s):  On Success -  See 'Parameter(s)'.
;                   On Failure -  Empty string and set @error as following:
;                       1 = Error to open Dll (user32.dll)
;                       2 = Error Initializing DDE (@extended include more details about the returned value from DllCall).
;                       3 = Othe DDE Errors (@extended include more details about the returned value from DllCall).
; Author(s):        amel27
;
;=====================================================================
Func OpenGetURL($sURL = "", $hWin = -1, $RetType = 0, $Server="IExplore", $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, "") ; Error to open 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], "") ; Error Initializing DDE
    $hServer = DllCall($hDll, "int", "DdeCreateStringHandle", "int", DllStructGetData($uIdInst,1), "str", $Server, "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
    $iErr = 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 $iErr[0] Then Return SetError(3, $iErr[0], "") ; Othe DDE Errors
    DllCall($hDll, "int", "DdeUninitialize", "int", DllStructGetData($uIdInst, 1))
    DllClose($hDll)
    
    If StringRight($sData[0], 3) = ',""' Then $sData[0] = StringTrimRight($sData[0], 3)
    If $sURL = '' Then $sURL = StringRegExpReplace($sData[0], '^"([^"]*?)".*','"\1"')
    
    If $RetType = 1 Then
        Local $iRetTitle = StringReplace(StringTrimLeft($sData[0], StringLen($sURL)+1), '\"', '"')
        Local $RetURL[3] = [StringReplace($sData[0], '\"', '"'), $sURL, $iRetTitle]
        Return $RetURL
    EndIf
    
    Return $sURL
EndFunc

 

credits:

MrCreatoR

on:

 

 

 

Share this post


Link to post
Share on other sites

not sure on the make sure it is loaded part as I'm not familiar with the browser but even if I was it might be a bit difficult to figure out if the page load failed.. perhaps look for the win title or a specific cookie from the site?

as far as running the browser that is easy if the browser supports running the exe with the URL as an argument If not you will have to use AutoIt Window Info to find the address bar and use Send ( "keys" [, flag = 0] ) or ControlSend ( "title", "text", controlID, "string" [, flag = 0] ).

Local $PathBrowser = @LocalAppDataDir & "\CocCoc\Browser\Application\Browser.exe
Local $URL= "http://mobile.weather.gov"
; Run CocCoc
RunWait(Chr(34) & $PathBrowser & Chr(34) & $URL,"")
WinWait("[CLASS:MyBrowsersClass]","",10)

 

Share this post


Link to post
Share on other sites

Why not using Shellexecute($Url)? 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now