Fix showing console window at start of some app

slawek slawek at lach.art.pl
Sun Oct 26 12:39:52 CDT 2008


Bloodshed DevC++ will not running console application if I click run
program or compile it.

I was wondering why and decided to put some test we have terminal access
inside Wine code. I was using create_process(inside kernell32.dll). I
was put the test at top of the function. This is a test for it:

#include <unistd.h>
/* 
  Another code there
  .......
 */
static BOOL create_process(...)
{
   /* Declarations */

if (!isatty(STDIN_FILENO))
     flags|=CREATE_NEW_CONSOLE;

/* END */

All will works(i we have run this program in a terminal, child process
will show messages in it. but If we can't have access to terminal child
process will be run inside new console Window).

But this code makes some other issues. Graphics applications aren't
touch by this patch, but app without Window will generate blank console
Windows. If I start some application, like wine notepad, there's
services.exe and wineboot.exe console Windows appear. Other think is
possible some splash Window don't have destroyed property(but i must
test it). Possible read subsystem information from file will fix thease
problems(if file don't have subsystem record, it's must be gui
application).

At now there's no way to run wine cmd.exe, because we are using
CreateProcess to test we have terminal access. I will to moved my code
into lowest level code, but I don't know where and start program call
CreateProcess(there's some information about this solution).

Can I send patch to Wine?




More information about the wine-devel mailing list