Windows 应用程序的命令行

对 Windows SDK 熟悉的程序员都知道,WinMain 函数的第三个参数是用户指定的命令行。对 API 熟悉的程序员还知道,如果想在程序的任何地方使用命令行,还可以调用 GetCommandLine() API。
幸运的是,老汉是个混了很多年的程序员,刚好两种方法都知道。不幸的是,老汉一直以为这两个方法得到的玩意儿是一样的,前两天在做一个小程序的时候偶尔才发现,竟然不一样!区别在于:WinMain 的命令行参数中没有应用程序的全路径,而 GetCommandLine() 得到的命令行是有的。

于是有了下面这个副产品,把命令行里的程序全路径滤掉。技术上没有难度,唯一需要注意的是引号的处理。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注