当前位置:   article > 正文

GetCommandLine()和CommandLineToArgvW()

getcommandline

win32可执行程序(.exe)分为两种类型,基于控制台(Consol-based)的和基于窗口(Windows-based)的。基于控制台程序它的入口函数是传统的main,基于窗口的则是WinMain。这两个入口函数一大区别是对于命令行参数的处理。

窗口应用程序的运行需要命令行参数的支持,即WinMain函数第三个参数,举个例子:当我们打开一个txt文件时,我们可以这样 notepad.exe c:\abc.txt ,这时c:\abc.txt就是一个命令行参数,命令行参数的作用就好像是给应用程序notepad.exe提供一个提示:要打开哪个文件,在这个例子中就是文件的路径。

GetCommandLineW函数的作用是获取程序的命令行参数然后以参数的形式传递给WinMain函数

利用GetCommandLine()函数获得命令行参数,
利用CommandLineToArgvW()函数解析命令行参数。

代码举例:

LPWSTR *szArglist = NULL;   
int nArgs = 0;   
szArglist = CommandLineToArgvW(GetCommandLineW(), &nArgs);   
if( NULL != szArglist)   
{   
//szArglist就是保存参数的数组   
//nArgs是数组中参数的个数   
//数组的第一个元素表示进程的path,也就是szArglist[0],其他的元素依次是输入参数。   
}   
//取得参数后,释放CommandLineToArgvW申请的空间   
LocalFree(szArglist); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/467122
推荐阅读
相关标签
  

闽ICP备14008679号