当前位置:C++技术网 > 资讯 > 应用程序如何传递参数(命令行)以及如何测试命令行

应用程序如何传递参数(命令行)以及如何测试命令行

更新时间:2015-06-25 14:19:31浏览次数:1+次

    应用程序执行时系统会传递参数,有的是可选、有的是忽略、有的却是必须的,必须的参数如果得不到则无法正常运行。这种做法常见于把软件集成到另一个软件之中,通过传递参数进行控制。
    首先,在MFC程序中,程序内部需要对命令行参数进行判断,然后做出决定。使用应用程序对象的成员变量m_lpCmdLine即可得到。当然这是在应用类(CWinApp或其派生类)中直接使用这个成员变量,如果不是在应用类中,则通过AfxGetApp()->m_lpCmdLine进行操作。到此,程序内部获取命令行就可以了。假设程序的功能就是将命令行参数输出显示。
    然后,测试程序是否能够正确获取命令行参数。
    方法1:在Dos窗口中启动程序。先假设把程序命名为1.exe,存放在E盘根目录下,在Dos中先输入【E:】回车切换目录到E盘,然后输入程序名字和参数【1.exe 测试成功!】程序名称和参数之间要有空格隔开。回车运行程序,如果程序输出了【测试成功!】说明正确。
    方法2:创建程序的快捷方式。右击程序文件创建快捷方式,然后右击快捷方式,选择属性,在【目标】文本框中,有一个快捷方式指向的程序路径,在这里就可以把参数输进去测试。提醒一下,如果程序所在的绝对路径不含空格,则这个路径无双引号,如果有空格,系统自动将路径用双引号括起来。如果是没有双引号的,则将命令行参数输在路径的后面,中间用空格隔开。如果有双引号,在双引号外面输入,同样空格隔开路径和参数。确定修改,双击快捷方式运行程序,系统就将参数传递给了程序,这样也可以测试程序。
    方法3:用一个程序调用被测试的程序。这种程序主要就是提供给其他程序调用的,可以通过传递的命令行参数对程序进行控制。在程序中要代码调用,可以使用ShellExecute函数,函数的使用方法就不在此叙述。基本上也是在这个函数参数中写入被测试的程序的文件名,在另一个参数中传递命令行参数,函数执行后就启动了被测试程序并把参数传递给了被测试程序。