GetCommandLine() Under Win32s (102762)



The information in this article applies to:

  • Microsoft Win32s 1.3c
  • Microsoft Win32s 1.0
  • Microsoft Win32s 1.1
  • Microsoft Win32s 1.2
  • Microsoft Win32s 1.3
  • Microsoft Win32s 1.30a

This article was previously published under Q102762

SUMMARY

Under Win32s, GetCommandLine() includes the full drive/path of the executable, while under Windows NT GetCommandLine() does not include the full path.

MORE INFORMATION

When programs are run from the Program Manager or the File Manager on Windows 3.1, they are spawned using the full path. As a result, argv[0] will have the complete path. When a Win32s application is spawned by a 16-bit application, Windows detects that the application is a Win32s application. The full path is passed to Win32s regardless of whether or not WinExec() was invoked with the full path. As a result, 32-bit applications receive the full path.

When a Win32-based application is spawned from another Win32-based application, the 32-bit kernel passes the information as given by the parent process (that is, if a Win32-based application is started via CreateProcess() from another Win32-based application, argv[0] will contain the path that the spawning application passed in).

Modification Type:MajorLast Reviewed:4/6/2004
Keywords:KB102762