两中方法:
第一种:
1 int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int nCmdShow){ 2 int argc = 0; 3 LPWSTR *argv= NULL; 4 //分割命令行参数 5 USES_CONVERSION; 6 LPCWSTR temp= A2W(lpstrCmdLine); 7 argv= CommandLineToArgvW(temp, &argc); 8 //到此处已经获取到了两个参数 argc argv,与控制台程序不同的是:argc的个数为真实的参数个数 ,并不包括 . est.exe 本身。argv也一样,argv[0]为第一个参数,并不是. est.exe 9 //此方法有一个缺陷,在命令参数有空格时,会解析失败,造成参数不完整。 10 }
第二种:
1 #include <misc/cmdline.h> 2 int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int nCmdShow){ 3 CmdLine cmdline; 4 cmdline.Analyze(lpstrCmdLine); 5 6 if (cmdline.HasParam("test")){ 7 printf("%s",cmdline["test"]); 8 } 9 } 10 //这种方法在命令行参数输入时为 KEY:VALUE形式,在程序中可以用KEY获取VALUE,该类还有SetParam等方法,具体请参考源码。 11 使用方式为 . est.exe -KEY:VALUE
至此两种方法介绍完毕,有建议的小伙伴可以给我留言评论。
如需转载,请标明出处:http://www.cnblogs.com/guozht/7680893.html