Frank Schruefer wrote:
> Hy Jason
>> Really cool man!
> I was following your posts here in real time and you almost found
> solutions faster than
> I could try them out, LOL!
>> I can confirm that the screen switches and a picture shows up when using
> full win-path
> and the mouse acts weird.
> Haven't tried commenting out anything yet. I'm trying to investigate
> that GetCommandLine
> thing.
> So far I grep'd through the wine code but only found extern
> GetCommandLineA decls.
>
Ok, that here is exactly the problem (dlls/kernel/environ.c), it's explained in the remark of the func:
/***********************************************************************
* GetCommandLineA (KERNEL32.@)
*
* WARNING: there's a Windows incompatibility lurking here !
* Win32s always includes the full path of the program file,
* whereas Windows NT only returns the full file path plus arguments
* in case the program has been started with a full path.
* Win9x seems to have inherited NT behaviour.
*
* Note that both Start Menu Execute and Explorer start programs with
* fully specified quoted app file paths, which is why probably the only case
* where you'll see single file names is in case of direct launch
* via CreateProcess or WinExec.
*
* Perhaps we should take care of Win3.1 programs here (Win32s "feature").
*
* References: MS KB article q102762.txt (special Win32s handling)
*/
LPSTR WINAPI GetCommandLineA(void)
...
But now what to do?
Low and behold I remembered that I once saw a wine config option ... and here is
the part of the wine config that should influence the behaviour of the above func:
[Version]
; Windows version to imitate (win95,win98,winme,nt351,nt40,win2k,winxp,win20,win30,win31)
; "Windows" = "win98"
; DOS version to imitate
;"DOS" = "6.22"
I tried to set 'Windows' to 'win98' and 'win2k', but that didn't make a difference, as
expected when looking at the 'GetCommandLineA' source.
I think the right thing would be to make 'GetCommandLineA' looking at the config how it
should behave and decide in which style the value should be returned.
But that there's no default setting in this version block makes me think maybe wine has
a possibility to guess for which OS the executed prog was written and sets this config
option automatically if not set in the config?
Suggestions?