Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Re: Re: The behavior of Win32::OLE->new

by jsprat (Curate)
on Nov 20, 2003 at 16:47 UTC ( [id://308621]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: The behavior of Win32::OLE->new
in thread The behavior of Win32::OLE->new

Hmm. On Win2K/IE6 and Win98/IE5.5, both l3nz snippet and mine work for me, and you don't have Windows Script Host.

What version of Windows and IE are you running?

Replies are listed 'Best First'.
Re: Re: Re: Re: The behavior of Win32::OLE->new
by marynella (Novice) on Nov 21, 2003 at 10:11 UTC
    I have WinXP Profesional/IE6.0.

    I don't need just 2 windows(IE) to be opened. More: each IE to run in a diffrent process.(when you look in Taskmng you should see 2 IE).

    l3nz's solution solves this problem but added a new problem:
    How I close IE when I've done with it? witch I've solved using JavaScript in the file opened in IE.

    I've Install Windows Script Host and I still get this error: Can't start ShellWin32::OLE(0.17) error 0x80040154: "Class not registered"

    Thanks.
      Why do they need to be different processes?

      Have a look at Win32::Process, it creates processes using the Windows API. A quick test shows that each explorer window shows up as its own process. It also includes a kill method that kills a given process ID.

      I'm not sure that Win32::Process ships with ActiveState perl, but ppm shows a couple of versions available.

      A quick proof-of-concept follows...

      use strict; use warnings; use Win32::Process; use Win32; sub ErrorReport{ print Win32::FormatMessage( Win32::GetLastError()) } my @processes; for (0, 1) { my $tmpPO; Win32::Process::Create($tmpPO, "F:\\Program Files\\Internet Explorer\\IEXPLORE.EXE", "", 0, CREATE_NEW_PROCESS_GROUP, "." )|| die ErrorReport(); push @processes, $tmpPO; print "Process $_ created: Process ID is ", $processes[$_]->GetProcessID, ".\n"; } print "Press enter to kill current processes:"; <STDIN>; $processes[$_]->Kill(0) for (0, 1);

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://308621]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2024-03-29 14:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found