Knowledge Base

PRB: ShellExecute() Succeeds But App Window Doesn't Appear

Article ID: 124133

Article Last Modified on 5/14/2004


APPLIES TO


This article was previously published under Q124133

SYMPTOMS

The following call to ShellExecute() succeeds and the file association is set in File Manager, but the application does not appear to execute (the window is not shown):
   hShell = ShellExecute( hWnd,
                          NULL,
                          lpszFile,
                          NULL,
                          lpszDir,
                          SW_SHOWDEFAULT );
				

CAUSE

ShellExecute() is directly thunked to 16-bit Windows. Windows-based applications do not support the SW_SHOWDEFAULT flag.

RESOLUTION

Under Win32s, use SW_NORMAL instead of SW_SHOWDEFAULT when using ShellExecute() with a 16-bit Windows-based application. You can use SW_SHOWDEFAULT if the application specified is a Win32-based application.

STATUS

This behavior is by design.

Additional query words: 1.20

Keywords: KB124133