Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

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

by marynella (Novice)
on Nov 20, 2003 at 12:21 UTC ( #308556=note: print w/replies, xml ) Need Help??


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

If instead of Win32::OLE->new(), I use CreateObject my problem is not solved.
Thanks any way for the advice
  • Comment on Re: Re: The behavior of Win32::OLE->new

Replies are listed 'Best First'.
Re: Re: Re: The behavior of Win32::OLE->new
by jsprat (Curate) on Nov 20, 2003 at 16:47 UTC
    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?

      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);
Re: Re: Re: The behavior of Win32::OLE->new
by meredith (Friar) on Nov 20, 2003 at 13:57 UTC
    Is it possible this is related to the "Reuse windows when launching shortcuts" option? In the Internet Options control panel, look in the Advanced tab. Since the ShellExec of a .url file basically does the same thing you're doing, this may have an effect on your problem.


    mhoward - at - hattmoward.org

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (4)
As of 2020-10-31 04:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favourite web site is:












    Results (286 votes). Check out past polls.

    Notices?