我正在尝试显示命令行参数。 这是我当前的代码。
#include "windows.h"
int _stdcall WinMain ( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpszCmdline,
int nCmdShow )
{
MessageBox ( 0, lpszCmdLine,L"Title",0);
return ( 0 ) ;
}
我在应用程序中得到了不同的字符。
为了在应用程序窗口中显示命令行参数,我应该做什么更改?
答案 0 :(得分:1)
由于lpszCmdline是LPSTR(ASCII,不是UNICODE),因此第一个选项将使用MessageBox()的ASCII版本,但是由于UNICODE是标准的,所以我建议使用win32 entry point的UNICODE版本。请参见下面的代码:
#include "windows.h"
int _stdcall wWinMain ( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPWSTR lpszCmdline,
int nCmdShow )
{
MessageBox ( 0, lpszCmdLine,L"Title",0);
return ( 0 ) ;
}
此外,要将命令行转换为argv样式的字符串数组,请调用CommandLineToArgvW函数。