Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > FOUND! how to attach to running instances of Internet Explorer

Reply
Thread Tools

FOUND! how to attach to running instances of Internet Explorer

 
 
gcash
Guest
Posts: n/a
 
      08-02-2003
Most folks know you can start up an instance of Internet Explorer by
saying "x=win32com.client.Dispatch('InternetExplorer.Appl ication.1')"
and you get a WIN32 object with a "Document" object that has arrays of
"Link"/"Form"/"Frame" subobjects, and methods like "Navigate" where
you can force the IE instance to browse to a new URL.

What folks would like to do is to connect to an already running
version of explorer, and this isn't so obvious.

The MS KB article you usually find is 176792 which mentions using
SHDocVw.ShellWindows to iterate through the instances. However Mark
Hammond sayes this is a "vtable interface" (whatever that is) and "not
supported by python" in
http://groups.google.com/groups?hl=e...pretection.com

HA! well, I happened to discover you can do:

import win32com.client
# look in the makepy output for IE for the "CLSIDToClassMap"
# dictionary, and find the entry for "ShellWindows"
clsid='{9BA05972-F6A8-11CF-A442-00A0C90A8F39}'
ShellWindows=win32com.client.Dispatch(clsid)
for i in range(ShellWindows.Count):
print i
# this is the titlebar value
print ShellWindows[i].LocationName
# this is the current URL
print ShellWindows[i].LocationURL
print

and the object returned by ShellWindows[n] is the exact same as the
one returned by Dispatch('InternetExplorer.Application.1')

I'm posting this here for future generations of Googlers.

So I'm running Win2K Pro... and I'm curious about what versions this
works under. I'm pretty sure you have to have IE 5.0 or newer, but
could folks try this code on 95/98 and tell me (gcash-at-cfl.rr.com)
if it works??

Also, I haven't been able to determine if there's a better name of the
form 'InternetExplorer.Application.1' instead of using the horrid
class-id. How do you do that? The makepy output for explorer doesn't
list one.

Thanks to Mark Hammond for win32all, it is a true work of art, and is
teaching an old UNIX hack lots of Windows stuff.

-gc

--
I've never tried emacs because I already _have_ an OS on this peecee.
-- (Mike Andrews)
 
Reply With Quote
 
 
 
 
Cousin Stanley
Guest
Posts: n/a
 
      08-02-2003
gcash ....

Your win32 script for connecting to open IE instances
works fine for me using ....

Win98_SE
Python 2.2.1

Displays info for open IE instances
for both local and remote pages ....

--
Cousin Stanley
Human Being
Phoenix, Arizona


 
Reply With Quote
 
 
 
 
gcash
Guest
Posts: n/a
 
      08-02-2003
"Cousin Stanley" <> writes:

> Your win32 script for connecting to open IE instances
> works fine for me using ....
>
> Win98_SE
> Python 2.2.1


Awesome! That gives me hope it isn't some one-off WIN2K thing.
Cool! Thanks.

-gc

--
I've never tried emacs because I already _have_ an OS on this peecee.
-- (Mike Andrews)
 
Reply With Quote
 
Jordan Tucker
Guest
Posts: n/a
 
      08-03-2003
> Also, I haven't been able to determine if there's a better name of the
> form 'InternetExplorer.Application.1' instead of using the horrid
> class-id. How do you do that? The makepy output for explorer doesn't
> list one.


The relevant MSDN page[1] lists the ProgID as 'Shell.Windows' or
'ShellWindows._NewEnum'; however when trying to dispatch with either as the
class string fails. Also, searching the registry reveals nothing for the
CLSID.

[1] http://tinyurl.com/ix1z , i.e.
http://msdn.microsoft.com/library/de.../objectmap.asp



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
Internet Explorer 8: C:\Program Files\Internet Explorer\iexplore.exe vs C:\Program Files (x86)\Internet Explorer\iexplore.exe Nathan Sokalski Windows 64bit 16 02-22-2010 08:31 AM
internet explorer 7 - Internet Explorer cannot display the webpag sandy j Windows 64bit 0 05-02-2009 02:12 AM
Is there any shortcut for "Debug > Attach > Attach to aspnet_wp.exe"? Warren Tang ASP .Net 1 09-17-2008 03:46 PM
attach agent to applet running in firefox (attach api) craiget@gmail.com Java 0 06-14-2007 12:28 AM



Advertisments