MFC中调用控制台程序如何进行自动输入并执行
在MFC中点击按钮执行一个控制台程序,并把一个编辑框里的字符串作为控制台程序的输入,然后自动执行,该怎么做?chars[1000];m_edit1.GetWindowTe...
在MFC中点击按钮执行一个控制台程序,并把一个编辑框里的字符串作为控制台程序的输入,然后自动执行,该怎么做?
char s[1000];
m_edit1.GetWindowText(s,1000);
已经从编辑框中获取了字符串内容并保存到了s中,
我的控制台程序的功能是输入一段字符串并执行某个命令,而这段需要输入的字符串就是上面的s
ShellExecute()好像没有这个自动输入并执行的功能,不知道该用什么办法实现这个功能。
楼下的误会我的意思了,控制台程序是我自己写的一个程序,比如输入一段代码,执行后会将代码保存到txt文件。不是系统自己的cmd程序。用system(str);也没有路径参数啊。我自己写的那个控制台程序有一个可执行文件路径要添加上去的。 展开
char s[1000];
m_edit1.GetWindowText(s,1000);
已经从编辑框中获取了字符串内容并保存到了s中,
我的控制台程序的功能是输入一段字符串并执行某个命令,而这段需要输入的字符串就是上面的s
ShellExecute()好像没有这个自动输入并执行的功能,不知道该用什么办法实现这个功能。
楼下的误会我的意思了,控制台程序是我自己写的一个程序,比如输入一段代码,执行后会将代码保存到txt文件。不是系统自己的cmd程序。用system(str);也没有路径参数啊。我自己写的那个控制台程序有一个可执行文件路径要添加上去的。 展开
1个回答
展开全部
以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");
这下应该够明白了吧
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");
这下应该够明白了吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询