Another example which creates two Microsoft Internet Explorer instances.
import win32process, win32com.client, time
from win32com.client import gencache
ie_tlb = gencache.EnsureModule("{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}", 0, 1, 1)
def createNewIEProcess():
"""Create new IE process and return WebBrowser2 IDisp to it.
a work-around for win32com.client.Dispatch("InternetExplorer.App.."),
which will NOT create a new process
@return new WebBrowser2 instance
"""
si = win32process.STARTUPINFO()
dmy, dmy, newIEprocId, dmy = win32process.CreateProcess(r"C:\Program Files\Internet Explorer\iexplore.exe", None, None, None, 0, 0, None, None, si )
time.sleep(1.0)
for idx in range(10):
for shellWnd in ie_tlb.ShellWindows():
dmy, processId = win32process.GetWindowThreadProcessId(shellWnd.HWND)
if processId == newIEprocId:
return shellWnd
ie1 = createNewIEProcess()
ie1.Top, ie1.Left, ie1.Height, ie1.Width = 0, 0, 50, 50