Jump to content
Sign in to follow this  
Jinchuuriki

Problems with IEAttach: Return HWnd($o_object.HWnd())

Recommended Posts

Jinchuuriki

Ok this started out of nothing i wasn't even coding.. just running the program. actualy i had just closed and started it again.

>"C:\Arquivos de programas\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "G:\Monsters Hive\src\Main.au3" /autoit3dir "C:\Arquivos de programas\AutoIt3" /UserParams  
+>00:23:58 Starting AutoIt3Wrapper v.2.0.0.1    Environment(Language:0416  Keyboard:00010416  OS:WIN_XP/Service Pack 3  CPU:X86 OS:X86)
>Running Tidy (2.0.28.3)  from:C:\Arquivos de programas\AutoIt3\SciTE\tidy
+>00:24:00 Tidy ended.rc:0
>Running AU3Check (1.54.14.0)  from:C:\Arquivos de programas\AutoIt3
+>00:24:01 AU3Check ended.rc:0
>Running:(3.3.0.0):C:\Arquivos de programas\AutoIt3\autoit3.exe "G:\Monsters Hive\src\Main.au3" 
C:\Arquivos de programas\AutoIt3\Include\IE.au3 (3116) : ==> The requested action with this object has failed.:
Return HWnd($o_object.HWnd())
Return HWnd($o_object.HWnd()^ ERROR
->00:24:33 AutoIT3.exe ended.rc:1
+>00:24:34 AutoIt3Wrapper Finished
>Exit code: 1   Time: 35.833

Here is where the code stops

$AccInfo[$i][0] = WinGetHandle($AccInfo[$i][1])

For $i = 0 To $AccCount - 1
        WinWait($AccInfo[$i][1])
        _GUICtrlListBox_ReplaceString($MonstersConsoleOutput, $i, $i & " - " & $AccInfo[$i][1] & ": Acquiring Internet Explorer Handle")

        $AccInfo[$i][0] = WinGetHandle($AccInfo[$i][1])

        WinSetTitle($AccInfo[$i][0], "", "Handle Acquired.")
        _GUICtrlListBox_ReplaceString($MonstersConsoleOutput, $i, $i & " - " & $AccInfo[$i][1] & ": Internet Explorer Handle acquired: ( " & $AccInfo[$i][0] & " )")
        mhConsoleSetProgress1(4*100/6)
        mhConsoleSetProgress2(($i+1)*100/$AccCount)
;~      WinSetState($AccInfo[$i][0], "", @SW_MINIMIZE)
    Next;==>AccountManager (Here we get the WinHandle from the array and attach to IE)

the program stops on the first FOR.

Edit: forgot to mention about the arrays:

$AccInfo[$i][1] = Title of IE Window (also account name)

$AccInfo[$i][0] = IE Window Handle

Edited by Jinchuuriki

Share this post


Link to post
Share on other sites
DaleHohm

You mention _IEAttach in the title, but your code sample shows no reference to any _IE function calls.

One likely cause of such an error is that the browser is closing or is in the process of navigating to a new location or for one reason or another is not standing still. You do not provide enough information to provide any specific help, but perhaps these ideas will help you with your troubleshooting.

If this has worked and suddenly is not, another possibility is a misbehaving iexplore.exe process. In this case, logout and back in and see if the issue persists.

Dale

Edit: rewrite after remembering that _IEAttach hwnd calls _IEPropertyGet hwnd

Edited by DaleHohm

Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Share this post


Link to post
Share on other sites
Jinchuuriki

oh sry I posted the wrong for..

For $i = 0 To $AccCount - 1
        _GUICtrlListBox_ReplaceString($MonstersConsoleOutput, $i, $i & " - " & $AccInfo[$i][1] & ": Attaching to Internet Explorer...")

        $AccInfo[$i][3] = _IEAttach($AccInfo[$i][0], "HWND")

        _GUICtrlListBox_ReplaceString($MonstersConsoleOutput, $i, $i & " - " & $AccInfo[$i][1] & ": Attaching to Internet Explorer... Done.")
        $AccInfo[$i][4] = 0
        $AccAction[$i][4] = 0
        mhConsoleSetProgress1(5*100/6)
        mhConsoleSetProgress2(($i+1)*100/$AccCount)
        _GUICtrlListBox_ReplaceString($MonstersConsoleOutput, $i, $i & " - " & $AccInfo[$i][1] & ": Attaching to Internet Explorer... Done.")
    Next

and after a system reboot is started working again. so i guess it was a windows bug not autoit =/

But thx for the reply

Share this post


Link to post
Share on other sites
Yibing

I just got exactly same error. Even it's because of the Windows OS, can we have a handler instead of just crush?

Share this post


Link to post
Share on other sites
PsaltyDS

I just got exactly same error. Even it's because of the Windows OS, can we have a handler instead of just crush?

Did you try _IEErrorHandlerRegister()?

:)


Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law

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
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.