1. mfc程序怎么接受命令行参数
三种方法:
假设我们启动程序的时候执行的是以下命令:
D:mfcapp.exe -l -f ./1.txt
方法1,调用全局函数
::GetCommandLine();
将获取到全部参数信息:D:mfcapp.exe -l -f ./1.txt
方法2,使用宏__argc和__argv,使用方法和命令行main(int argc,char *argv[])一样,示例代码:
for(inti=0;i<__argc;i++)
{
__argv[i];//依次遍历可以得到D:mfcapp.exe-l-f./1.txt
}
方法3:使用CWinApp类的成员变量m_lpCmdLine,它里面包含除了第一个参数的所有信息,比如:
AfxGetApp()->m_lpCmdLine;//结果为-l -f ./1.txt
2. 如何在命令行下编译和执行win32应用程序和MFC
仅供参考:
1、首先需要有编译器,比如g++
2、在程序源文件所在目录,执行 gcc test.cpp
3、执行:./a.out
3. MFC按钮调用一程序,如何执行程序命令行参数呢
标准
c
库函数
不知道行不行,如果在win32环境下,调用win32
API绝对是可以的,用shellexecute
函数
启动
程序
,
命令行参数
在程序
名称
后按
空格
隔开,在调用程序
main函数
中使用string
strLine=::AfxGetApp()->m_lpCmdLine;就可以获取命令行参数了,在开发多进程项目的时候用的比较多,常用于进程间启动
参数传递
。
4. MFC中怎么调用cmd并执行命令
ShellExecute(NULL, "open", "ping", "127.0.0.1", NULL, SW_SHOW);
5. MFC中定时器运行时能执行其他命令吗
仅供参考:
可以。
在定时器启动的时候,定时器函数中的代码定时执行。
在启动定时器之后的代码也会依次执行。
6. 在MFC程序中怎么打开CMD命令窗口,运行一些代码
很多人问,但无正确答案。CSDN也有人问,但CSDN的帖子过期就不能回复,所以别人有答案了也干着急。CSDN领导人脑袋长了肿瘤吧?
答案如下:
using namespace std;
STARTUPINFO si;
memset(&si, 0, sizeof(STARTUPINFO));//初始化si在内存块中的值(详见memset函数)
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOW;
PROCESS_INFORMATION pi;//必备参数设置结束
if (!CreateProcessW(TEXT("C:\\WINDOWS\\system32\\cmd.exe"),
TEXT("/k tclsh "),
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi
)){
cout << "CreateFail!" << endl;
exit(1);
}
else{
cout << "Success!" << endl;
}
//不使用的句柄最好关掉
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
重点是CreateProcessW函数的第二个参数要带上/k参数!!!!!!!!!!!!
7. 如何在MFC里调用bat命令
ShellExecute调用cmd.exe,bat文件作为参数来执行
8. mfc 如何调用cmd并连续执行命令
"&"
cd c:\xx & yyy.exe 10000
可以有很多命令 用 "&" 号分割
9. MFC中调用控制台程序如何进行自动输入并执行
以ping命令为例。
CStringA str = "ping sohu.com";
str += " -t";
system(str);
以上是vs2008环境。在vc6下如果CStringA不能通过编译请使用CString代替。
你把ping sohu.com改成你的长文件路径就可以了啊。
CStringA str = "c:\\mypass\\MypassCCCCC.exe";
// str += " -t";
system(str);
另外,要确认你的控制台程序中有接收参数的功能。如果没有,光靠简单的调用api函数是达不到你要求的,即使用其他函数也一样。这样的话,你可以考虑编写一个.bat批处理文件。
system( "X:\\xxxx\\xx.bat");
这下应该够明白了吧
10. 利用MFC执行dos命令,system()函数的相关问题。
每个system会弹出一个窗口
如果想在同一窗口中执行多个命令,可采用下面方式:
system("命令1 && 命令2 && 命令3...");
如
system("d: && md abc && cd abc && md def");
相当于打开cmd后执行了如下的命令:
d:
md abc
cd abc
md def
我的回答有没有帮到你?