博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GetCommandLine CmdLineToArgvW
阅读量:6655 次
发布时间:2019-06-25

本文共 720 字,大约阅读时间需要 2 分钟。

说明:

LPTSTR GetCommandLine(VOID);
LPWSTR * CommandLineToArgvW(
                                                             LPCWSTR lpCmdLine,  // pointer to a command-line string
                                                             int *pNumArgs       // receives the argument count
                                                           );
使用GetCommandLine函数的返回值是一个程序的命令行,包括进程本身和所有的参数。他和winmain函数的lpCmdLine值是一样的,至于在main函数中,由于main函数可以带argc  ,argv参数。这两个参数,argc表示函数的参数,至少为1,argv是二级指针,里面存有所有的参数列表。当argc为1时,argv存储的是函数本身的路径。但main函数里的参数都是ANSI版本的,为了得到对应的Unicode版本的参数列表,所以有了CommandLineToArgvW函数,使用CommandLineToArgvW可以得到相同的效果。只不过是Unicode版本。
例如,可以这样调用:
  

int dwArgcs = 0;

    LPWSTR *pStr = CommandLineToArgvW(GetCommandLine(), &dwArgcs);

则,dwArgcs就相当于main函数中的argc,pStr就相当于main函数中的argv。

不过要注意了,

CommandLineToArgvW 返回的指针指向的地址空间是在函数内部所分配的,所以,最后的调用GlobalFree释放空间

转载于:https://www.cnblogs.com/priarieNew/p/9754793.html

你可能感兴趣的文章
系统崩溃分析
查看>>
PAT 1067. Sort with Swap(0,*)
查看>>
8个开发必备的PHP功能(转)
查看>>
Linux Socket编程学习
查看>>
二级域名怎么做优化
查看>>
MIME类型大全
查看>>
sql server 定时备份数据库
查看>>
字符流-FileReader和 FileWriter的用法
查看>>
大话设计模式读书笔记7——工厂方法模式
查看>>
Java虚拟机学习 - JDK可视化监控工具
查看>>
EL表达式详解(转)
查看>>
完全隐藏Master Page左边导航条只有管理员才可以看见
查看>>
16秋进度条10
查看>>
Myeclipse10和Eclipse安装git插件 (亲测可用)
查看>>
陶哲轩实分析引理17.1.16
查看>>
远程桌面最新漏洞CVE-2019-0708 POC利用复现
查看>>
CentOS 卸载已安装软件
查看>>
11.22复习JS,浏览器内核
查看>>
目前主流的四大浏览器内核Trident、Gecko、WebKit以及Presto
查看>>
hdu1074 Doing Homework
查看>>