Jump to content

Cannot access IE window to auto-install ActiveX controls


Recommended Posts

I cannot seem to access a window that comes up from IE while trying to automate the installation of some ActiveX controls. I don't know if I would call it a popup per se. The Title is "Internet Explorer - Security Warning", and the prompts are to Install or Don't install the requested software.

Using anything that looks for "WinExists" or "WinActive" gets me nowhere, and I have tested it backwards and forwards, just trying to send a msgbox if it even detects the thing... nada.

The AutoIT Window Info utility can clearly see data on it, however, it does not show up as a separate window in my Taskbar. I am assuming that AutoIT just doesn't see it as a Window, as the functions just do not do anything.

I attached a screenshot of the message, hoping it might help.

Does anyone know how to detect/send controls to these kinds of IE windows?

Thanks a bunch

-Paul

post-12397-1210878640_thumb.jpg

Link to comment
Share on other sites

I haven't found any IE pop ups I couldn't automate yet. Post the AU3Info.exe summary of the window so we can see what it is (i.e. Class: #32770). I'm not going to install your ActiveX control, but do you know a way for me to generate a similar window that gives you the same problem? That would give us a common issue to look at.

:)

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
Link to comment
Share on other sites

I'm not sure how I could get you to actually duplicate it. Not only would you not want to install this ActiveX control, but this is an internal web app, so I couldn't even provide a link to it....

Here's the Summary Window info:

>>>> Window <<<<

Title: Internet Explorer - Security Warning

Class: #32770

Position: 298, 274

Size: 464, 210

Style: 0x94C800CC

ExStyle: 0x00010101

Handle: 0x008501C4

>>>> Control <<<<

Class: SysLink

Instance: 1

ClassnameNN: SysLink1

ID: 10509

Text: <a id="APPNAME">ePower Lifecycle Engine Active Access Resources</a>

Position: 123, 36

Size: 321, 16

ControlClick Coords: 263, 1

Style: 0x50010004

ExStyle: 0x00000004

Handle: 0x007501B0

>>>> Mouse <<<<

Position: 687, 333

Cursor ID: 2

Color: 0x000000

>>>> StatusBar <<<<

>>>> Visible Text <<<<

&Don't Install

Do you want to install this software?

Name:

<a id="APPNAME">ePower Lifecycle Engine Active Access Resources</a>

Publisher:

<a id="PUBLISHER">Pivotal Corporation</a>

More &options

More &options

While files from the Internet can be useful, this file type can potentially harm your computer. Only install software from publishers you trust. <a>Whats the risk?</a>

&Install

>>>> Hidden Text <<<<

&Always install software from "Pivotal Corporation"

&Never install software from "Pivotal Corporation"

As&k me every time

Link to comment
Share on other sites

I'm not sure how I could get you to actually duplicate it. Not only would you not want to install this ActiveX control, but this is an internal web app, so I couldn't even provide a link to it....

Here's the Summary Window info:

>>>> Window <<<<

Title: Internet Explorer - Security Warning

Class: #32770

Position: 298, 274

Size: 464, 210

Style: 0x94C800CC

ExStyle: 0x00010101

Handle: 0x008501C4

>>>> Control <<<<

Class: SysLink

Instance: 1

ClassnameNN: SysLink1

ID: 10509

Text: <a id="APPNAME">ePower Lifecycle Engine Active Access Resources</a>

Position: 123, 36

Size: 321, 16

ControlClick Coords: 263, 1

Style: 0x50010004

ExStyle: 0x00000004

Handle: 0x007501B0

Try running this before it pops up, to see if it's found:
Opt("WinTitleMatchMode", 4)

HotKeySet("{ESC}", "_Quit")
While 1
    If WinExists("[CLASS:#32770;TITLE:Internet Explorer - Security Warning]") Then
        MsgBox(64, "Found It", "Aha, I see it!")
        $hWin = WinGetHandle("[CLASS:#32770;TITLE:Internet Explorer - Security Warning]")
        ControlClick($hWin, "", "SysLink1"); If that's really what you wanted to click
        Exit
    EndIf
    Sleep(100)
WEnd

Func _Quit()
     Exit
EndFunc

You might want to tweak which control you are clicking, but that's the one shown in what you provided.

:)

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
Link to comment
Share on other sites

Hallelujah, you found it!! This is great...

I'm soooo close! Now the trick is to actually send the ControlClick that I want to. Your test script works just fine, even when I change it to the button I actually wanted. When I try to past it into my script overall, it doesn't respond.

Now what am I missing??? (This lives inside of a window)

CODE
; Blah blah, drawing window instructions

$PIVSITE = "http://slc-sac-piv01/epower/install2.htm"

While 1

$msg = GUIGetMsg()

Switch $msg

Case $RELOAD

$CONTINUE = 1

$oIE = _IECreate ($PIVSITE)

;_IELoadWait ($oIE)

While WinExists ("Cannot find server")

$RELMSG = MsgBox (0, "Pivotal Maintenance Utility - Error", "Check Network and/or Log on to the VPN First")

If $RELMSG = 1 Then ; OK Button clicked

$CONTINUE = 0

ExitLoop

EndIf

WEnd

If $CONTINUE = 1 Then

If WinExists("[CLASS:#32770;TITLE:Internet Explorer - Security Warning]") Then ; This is where it gets lost

$hWin = WinGetHandle("[CLASS:#32770;TITLE:Internet Explorer - Security Warning]")

Sleep (1000)

ControlClick ($hWin, "", "Button5") ; CLICKY CLICKY PLEASE!!!

WinWait ($PIVSITE, "Done")

_IEQuit ($oIE)

EndIf

EndSwitch

WEnd

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...