"György 'Nog' Jeney" <nog(a)sdf.lonestar.org> writes:
ChangeLog: * dlls/shell32/shell32_main.h * dlls/shell32/shell.c * dlls/shell32/shellreg.c * dlls/shell32/Makefile.in * dlls/shell32/shlexec.c Seperate out 16-bit functions into seperate file.
I have applied the registry stuff, but not ShellExecute16; this one will be need to be split properly so that the 32-bit version doesn't contain 16-bit stuff. -- Alexandre Julliard julliard(a)winehq.com
"György 'Nog' Jeney" <nog(a)sdf.lonestar.org> writes:
ChangeLog: * dlls/shell32/shell32_main.h * dlls/shell32/shell.c * dlls/shell32/shellreg.c * dlls/shell32/Makefile.in * dlls/shell32/shlexec.c Seperate out 16-bit functions into seperate file.
I have applied the registry stuff, but not ShellExecute16; this one will be need to be split properly so that the 32-bit version doesn't contain 16-bit stuff.
The only place that there is 16-bit stuff in the 32-bit version is WinExec16 in SHELL_ExecuteA. Is it ok to simply call CreateProcess here? Probably not because that whould have been done already. So I dont see how this could be done without some code duplication. Mabey ifdef the WinExec16?
The only place that there is 16-bit stuff in the 32-bit version is WinExec16 in SHELL_ExecuteA. Is it ok to simply call CreateProcess here? no CreateProcess will no allow running 16 bit execs (while WinExec16 does)
Probably not because that whould have been done already. So I dont see how this could be done without some code duplication. Mabey ifdef the WinExec16? a way to do it is to replace the is32 boolean in most functions with a function pointer to the actual process creation implementation
it's signature would be HINSTANCE (*fn)(char *lpCmd, LPSHELLEXECUTEINFOA sei, BOOL shWait) and would be passed to ShellExecuteExA32 from a 32 bit function, code would the 32 bit part of SHELL_ExecuteA from a 16 bit function, code would the 16 bit part of SHELL_ExecuteA (this part should all be moved to 16 bit code) A+
participants (3)
-
Alexandre Julliard -
Eric Pouech -
György 'Nog' Jeney