in reply to Re^2: Question on Win32::Process
in thread Question on Win32::Process

It is a direct quote from the "Process Creation Flags" documentation in the MSDN Library 2005


DWIM is Perl's answer to Gödel

Replies are listed 'Best First'.
Re^4: Question on Win32::Process
by BrowserUk (Patriarch) on Dec 29, 2005 at 09:31 UTC

    Interesting. This is a direct quote from MSDN on-line

    CREATE_NO_WINDOW 0x08000000 This flag is ignored.

    I wonder which one is authoritative?


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

      Indeed interesting. The version of MSDN I'm using is dated March 2005. I notice that the online version is December 2005 so I guess that is authoritive. But I can't see how they can have changed the behaviour for older versions of the OS, or even unpatched current versions. There is no indication of a change in behaviour in the documentation so unless it never worked ...


      DWIM is Perl's answer to Gödel

        Stranger and stranger. I found this on the web somewhere.

        when you try to create a console process with CreateNoWindows= true it + will work fine on windows NT/2k/xp but on windows 9x/ME the console window will pop up anyway. Quote from MSDN (Article "Process creation flags") CREATE_NO_WINDOW: The process is a console application that is run without a console win +dow. This flag is valid only when starting a console application. This flag cannot be used with MS-DOS-based applications. Windows Me/98/95: This value is not supported. I don't think this "bug" will be fixed. This flag simply isn't supported by Win95/98/Me.

        Whether they've decided to stop mentioning it in the docs, or the ability has been removed in one of the latest set of updates I don't know. Maybe they are trying to make it harder for people to create silent keyloggers and the like?


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.

      I emailed MS and received the following reply from Julie Solon:

      Thanks for the feedback. I went back to the developer who asked me to make this change a few months back, and he apologized for the mistake. I’ll restore the text with a slight modification:
      The process is a console application that is being run without a console window. Therefore, the console handle for the application is not set.

      This flag is ignored if the application is not a console application, or if it is used with either CREATE_NEW_CONSOLE or DETACHED_PROCESS.

      DWIM is Perl's answer to Gödel