<P>you likely have to fix dlls/ntdll/thread.c (in thread_init) so that the RTL_USER_PROCESS_PARAMETERS has the correct flag set (or alternatively, in dlls/kernel/process.c, in for example build_initial_environment)</P>
<P>Note that winecrt0 is only used for winelib apps, so it's not used in case of windows native pgm</P>
<P>A+</P>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #ff0000 2px solid">> Message du 08/11/05 07:11<BR>> De : "James Liggett" <JRLIGGETT@COX.NET><BR>> A : "Wine Mailing List" <WINE-DEVEL@WINEHQ.ORG><BR>> Copie à : <BR>> Objet : Question about contents of STARTUPINFO structure and non WinMain entry points<BR>> <BR>> Hi,<BR>> First, apologies for the length. It's quite a complex issue:<BR>> <BR>> A few days ago someone sent to the list asking why a program he'd<BR>> written on WinXP runs under WineDbg but not under plain wine. Over the<BR>> weekend I debugged the program and found out that his program doesn't<BR>> use the standard WinMain entrypoint function. As such, he was using<BR>> GetStartupInfo to get startup flags. He uses the wShowWindow flag to<BR>> control the showing of the program's main window. Trouble is, this value<BR>> is zero unless the program is started as a child process using<BR>> CreateProcess, given a STARTUPINFO with wShowWindow set to something<BR>> other than 0 (usually SW_SHOWNORMAL or SW_SHOW.) So my question is, how<BR>> does the information in STARTUPINFO get set initially? I looked through<BR>> the code for winecrt0 and found that before WinMain is called, the<BR>> wShowWindow flag is set to SW_SHOWNORMAL. But because this program does<BR>> not use WinMain, this value doesn't get set. However, the program works<BR>> fine on native Windows XP. I looked at ntdll and kernel32 dll code, but<BR>> I'm not sure I'm looking in the right place. Can someone give me some<BR>> hints as to how to attack this problem?<BR>> <BR>> Thanks a lot,<BR>> James<BR>> <BR>> <BR>> <BR>> <BR>> </BLOCKQUOTE>