Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I have a script that makes use of Win32::OLE::GetActiveObject method to locate any open IE browsers. GetActiveObject() works perfectly on my laptop, but fails to find any open IE browsers on 3 other PC's, all running the same version of Windows (XP Professional), IE, and Perl, with identical modules installed. Could this be some kind of obtuse Windows security configuration issue?

Replies are listed 'Best First'.
Re: Win32::OLE::GetActiveObject problem
by talexb (Chancellor) on Dec 30, 2004 at 21:20 UTC

    Some scientific method would be helpful here.

    • How do you know that this operation is succeeding on your laptop?
    • How do you know that this operation is failing on the desktops?
    • How do you know that the installations are identical or at least similar?
    • What kind of error are you getting from the the PCs that are failing?
    • Are the PCs actually running IE? The same version? Does that matter?
    • What makes you think it's a security configuration issue?

    Alex / talexb / Toronto

    "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

      >How do you know that this operation is succeeding on your laptop?
      Because the script closes the IE browsers that it finds.

      >How do you know that this operation is failing on the desktops?
      Because the script indicates that it found no IE browser and fails to close the existing IE browsers.


      >What kind of error are you getting from the the PCs that are failing?
      No error - the script simply indicates that 0 IE browsers are found, even though they do exist.

      >Are the PCs actually running IE? The same version? Does that matter?
      Yes, yes, and I don't know.

      >What makes you think it's a security configuration issue?
      It's a guess.

        OK -- how is Win32::Whatever finding these IE instances? Is it looking through the process table? Is it trying to make OLE connections? Could it be that the laptop is configured to come up with OLE connections enabled, while the PC is configured not to start OLE?

        Can your script close any other OLE enabled application, on either the laptop or the PC?

        Alex / talexb / Toronto

        "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

Re: Win32::OLE::GetActiveObject problem
by William G. Davis (Friar) on Dec 31, 2004 at 04:49 UTC

    This has come up before. I'm sorry I can't be much help. A cursory search turned this and this up.