⑴ MFC怎么调用dos!!!
ShellExecute(NULL,"open","d://WINDOWS//system32//cmd.exe","/c md d://zzz","",SW_SHOW);
ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件。
⑵ MFC中怎么调用dos,并隐藏dos窗口,还能把dos界面产生的信息显示在MFC的窗口上急需各位
没有简单的实现办法。
这里关键是看,你要用DOS做什么事情。如果是执行系统命令,那么通常都有对应的WINAPI函数,这个是可以没有DOS窗口,而信息返回给程序的,实现你的想法没问题。
如果是特定程序,那么没有很好的简单实现办法。如果是一个瞬间完成程序,则中的办法就是在程序内执行命令行,并通过命令行将“屏显”放到文本文件,MFC程序内打开这个文件即可。这样会有黑屏闪现,但不显示信息。例:
WinExec("dir *.* >d:\\1.txt");
⑶ 利用MFC执行dos命令,system()函数的相关问题。
每个system会弹出一个窗口
如果想在同一窗口中执行多个命令,可采用下面方式:
system("命令1 && 命令2 && 命令3...");
如
system("d: && md abc && cd abc && md def");
相当于打开cmd后执行了如下的命令:
d:
md abc
cd abc
md def
我的回答有没有帮到你?
⑷ MFC中如何判断ShellExecute函数执行dos命令是否成功
执行成功会返回应用程序句柄; 如果这个值 <= 32, 表示执行错误}
//返回值可能的错误有: = 0 {内存不足}
ERROR_FILE_NOT_FOUND = 2; {文件名错误}
ERROR_PATH_NOT_FOUND = 3; {路径名错误}
ERROR_BAD_FORMAT = 11; {EXE 文件无效}
SE_ERR_SHARE = 26; {发生共享错误}
SE_ERR_ASSOCINCOMPLETE = 27; {文件名不完全或无效}
SE_ERR_DDETIMEOUT = 28; {超时}
SE_ERR_DDEFAIL = 29; {DDE 事务失败}
SE_ERR_DDEBUSY = 30; {正在处理其他 DDE 事务而不能完成该 DDE 事务}
SE_ERR_NOASSOC = 31; {没有相关联的应用程序}
//ShowCmd 参数可选值:SW_HIDE = 0; {隐藏}
SW_SHOWNORMAL = 1; {用最近的大小和位置显示, 激活}
SW_NORMAL = 1; {同 SW_SHOWNORMAL}
SW_SHOWMINIMIZED = 2; {最小化, 激活}
SW_SHOWMAXIMIZED = 3; {最大化, 激活}
SW_MAXIMIZE = 3; {同 SW_SHOWMAXIMIZED}
SW_SHOWNOACTIVATE = 4; {用最近的大小和位置显示, 不激活}
SW_SHOW = 5; {同 SW_SHOWNORMAL}
SW_MINIMIZE = 6; {最小化, 不激活}
SW_SHOWMINNOACTIVE = 7; {同 SW_MINIMIZE}
SW_SHOWNA = 8; {同 SW_SHOWNOACTIVATE}
SW_RESTORE = 9; {同 SW_SHOWNORMAL}
SW_SHOWDEFAULT = 10; {同 SW_SHOWNORMAL}
SW_MAX = 10; {同 SW_SHOWNORMAL}
⑸ MFC:怎么在显示窗口之前显示一个类似DOS的命令窗口
使用ShellExecute()函数。如:
ShellExecute(NULL,NULL,
"C:\\WINDOWS\\system32\\cmd.exe"/*这个参数是执行的程序的路径和名称*/,NULL/*这里是命令行参数*/,
NULL,
SW_HIDE/*该参数确定显不显示DOS窗口*/
);
具体用法见msdn
⑹ C++MFC对话框环境向DOS窗口输入命令
怎么和一个新打开的DOS窗口通信输入命令,感觉做不到
是不是应该自己起一个进程执行命令,这个做得到
⑺ C++MFC窗体和Dos命令窗口中如何使用字符串
第一种方法,直接显示
CString str="123";
SetDlgItemText(IDC_IDET1,str); //IDC_IDET1为编辑框ID
第二种方法,关联变量
通过ClassWizard为编辑框关联一个CString类型的变量,假设为m_Show
CString str="123";
m_Show=str;
UpdateData(FALSE);
⑻ MFC 调用DOS 隐藏命令符窗口
楼主,这个用ShellExecuteEx或是CreateProcess等多个函数都可以实现,下面给你一种代码量相对少一点的方法:
CString cmd=_T("cmd /c ");
cmd+=yourDosCmd; //这里加入要执行的DOS指令
WinExec((LPCTSTR)cmd,SW_HIDE);
使用示例:
CString cmd=_T("cmd /c ");
cmd+="rd /s/q temp"; //无条件删除当前目录下的temp文件夹
WinExec((LPCTSTR)cmd,SW_HIDE);
另外友情提醒:调用dos指令可以完成程序功能,但是效率一般没有直接完成的高,而且最重要的是调用DOS指令一般无法知道执行结果,比如文件是否成功删除。所以应该尽量少用
有问题再联系我