windows WTL使用命令行参数

Posted Glory_Lion

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows WTL使用命令行参数相关的知识,希望对你有一定的参考价值。

两中方法:

第一种:

 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的个数为真实的参数个数 ,并不包括  .\\test.exe 本身。argv也一样,argv[0]为第一个参数,并不是.\\test.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 使用方式为 .\\test.exe -KEY:VALUE

 至此两种方法介绍完毕,有建议的小伙伴可以给我留言评论。

如需转载,请标明出处:http://www.cnblogs.com/guozht/7680893.html

以上是关于windows WTL使用命令行参数的主要内容,如果未能解决你的问题,请参考以下文章

图形界面库Windows Forms MFC WTL WxWidgets Qt GTK 综合比较

将WTL应用向导添加到VS2019

sql [SQL查询片段]用于在命令行或通过R和其他工具使用SQL的快速代码段#tags:sql,R,text processing,命令li

.NET 不会使用命令行参数调用方法?

在windows下查看某个运行程序(或进程)的命令行参数

CreateProcess 和命令行参数