This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: cygwin 1.5.11: execv doesn't set argv[0] on Windows programs
- From: "David A. Rogers" <darogers at speakeasy dot net>
- To: Dave Korn <dk at artimi dot com>
- Cc: cygwin at cygwin dot com
- Date: Fri, 10 Sep 2004 12:37:37 -0500 (Central Daylight Time)
- Subject: RE: cygwin 1.5.11: execv doesn't set argv[0] on Windows programs
On Fri, 10 Sep 2004, Dave Korn wrote:
> There is no concept of argv in the windows OS itself. The application gets the
> entire commmand line as one unparsed string.
>
Actually, this is not true. Even in a true win32 app, argc and argv are
available, they are just not as obvious. The following program will print
the location of the exe.
---------------------------------------------------------------------------
#include "stdafx.h"
#include "stdlib.h" // for __argc and __argv
#include "stdio.h" // for sprintf
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
char msg[300];
sprintf(msg, "%d args. Arg0 is %s", __argc, __argv[0]);
MessageBox(NULL, msg, "argv test", MB_OK);
return 0;
}
---------------------------------------------------------------------------
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/