Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: detecting running environment, windows

by BrowserUk (Pope)
on Feb 10, 2013 at 12:45 UTC ( #1018044=note: print w/ replies, xml ) Need Help??

in reply to detecting running environment, windows

I have a gui shell for my application, using wxPerl... when the GUI application is linked as a textmode app

Your gui is a compiled executable?

And by "linked as a textmode application", you mean you use /SUBSYSTEM:console when building the executable?

What linker options are you using when you "linked as a GUI app"?

If you are using /SUBSYSTEM:windows, then that might start to explain your symptoms (MSVC link.exe docs):

WINDOWS Application does not require a console, probably because it creates its own windows for interaction with the user.

Note: that "Application does not require a console," means when the application is loaded, no console is allocated to it. Of itself that is probably not a problem, but it ccan also mean that processes started by that application may inherit that trait.

if I don't link the UI as a gui application, then when launched from the gui windows explorer, the textmode box appears when the gui is started instead..

Probably your best solution would be to drop IPC::Run3 (on Windows at least), and use Win32::Process to start your subprocess(es).

This has options to control the creation of consoles (CREATE_NEW_CONSOLE) and console windows (CREATE_NO_WINDOW) and background processes (DETACHED_PROCESS) etc.

It's not clear to me how you are creating your perl application as a linked executable, so this is more a list of things to investigate rather than a definitive solution.

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
Comment on Re: detecting running environment, windows
Select or Download Code
Replies are listed 'Best First'.
Re^2: detecting running environment, windows
by sdetweil (Sexton) on Feb 10, 2013 at 13:34 UTC
    thanks that really clear up a bunch of things.. the Subsytem attribute on the executable is set to Windows as you suspected.. and the key thing there is that this application does HAVE a stdin for Run3 to dup and use. thank you.. I probably should be able to tell if handle 0 is valid or not.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2016-05-28 23:07 GMT
Find Nodes?
    Voting Booth?