三种方法:
假设我们启动程序的时候执行的启衡是以下命令:
D:\mfc\app.exe -l -f ./1.txt
方法1,调用全局函数
::GetCommandLine()
将获取到全部乱旁举参数信息:D:\mfc\app.exe -l -f ./1.txt
方法2,使用宏__argc和__argv,使用方法和命令行main(int argc,char *argv[])一样,示例代码:
for (int i=0i<__argci++){
__argv[i]//依次遍历可以得到D:\mfc\app.exe -l -f ./1.txt
}
方法3:使用CWinApp类的成员变量m_lpCmdLine,它里面包含除了第一个参数的所有信息,比如:
AfxGetApp()->m_lpCmdLine//结哗碧果为-l -f ./1.txt
用ShellExecuteEx启动另外一个程序,传递一个reboot参数,然后在新启动唯铅链的程序中接收这个参数,来判断自身是“重启”的结果,然后寻找之前的窗体,最激凳后TerminateProcess之前指孙的进程。
标准c
库函数
不知道行不行,如果在win32环境下,调用win32
API绝对是可以的,用shellexecute
函数
启动
程序
,
命令行参数
在程序
名称
后按
空格
隔开宽碰,在调用程序
main函数
中使用string
strLine=::AfxGetApp()->m_lpCmdLine就可以获取命令行参数了,在开发多进程项目的时候巧巧液用的比较多,常用于进程间启孝物动
参数传递
。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)