You can pass arguments to a win32 app. The PWSTR pCmdLine is what gets these command-line arguments. If you want to get a Unicode copy of these arguments, you can call the GetCommandLine(); function. and to make it the argv[] style, call CommandLineToArgvW(); function
In which case you need to use GetCommandLine to get the actual command line used to start the app (as a raw string), then use CommandLineToArgvW to generate wide argc/argv values.
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR szCmdLine,
int iCmdShow)
{
LPWSTR *argv;
int argc = 0;
argv = CommandLineToArgvW(GetCommandLineW(), &argc);
// do your work here
// Free memory allocated for CommandLineToArgvW arguments.
::LocalFree(argv);
return 0;
}