在mfc下怎么调用一个win32控制台?并且自动向该控制台输入一段信息?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在mfc下怎么调用一个win32控制台?并且自动向该控制台输入一段信息?相关的知识,希望对你有一定的参考价值。
用WinExec()函数。详细说明见
http://baike.baidu.com/view/1286882.htm
例如调用系统的notepad.exe程序打开C:\\test.txt文件
WinExec("notepad.exe C:\\test.txt", SW_SHOW );
第一个字符串参数里面要调用的程序和变量用空格分隔追问
可以打开控制台了,但是我想打开控制台的同时自动输入“d://text"并回车,怎么办?
追答打开控制台后就不能再自动往控制台输入信息了,要输入的只能通过WinExec的第一参数的字符串里面输入,你可以有多个参数,通过控制台程序Main()函数的argv变量访问
追问不行啊 我输入WinExec("某某.exe d://text",SW_SHOW);
虽然那个exe调用出来了
但是并没有接收"d://text"这个参数
我的控制台文件时这么写的:
int main(int argc, char* argv[])
argv显示依然是某某.exe文件的路径啊?why?
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
else
// TODO: code your application's behavior here.
CString strHello;
strHello.LoadString(IDS_HELLO);
cout << (LPCTSTR)strHello << endl;
参考技术B 用system 加cmd命令
例如 system("test.exe name pass");
从 Win32 控制台应用程序驱动 MFC 应用程序
【中文标题】从 Win32 控制台应用程序驱动 MFC 应用程序【英文标题】:Drive MFC Application from Win32 Console Application 【发布时间】:2013-11-05 19:46:43 【问题描述】:我有一种情况,我需要对 MFC 应用程序运行一些单元测试。
我基本上在 Win32 控制台应用程序中有一些 gtest 代码,需要能够在 MFC 应用程序的代码中创建一个实例,并且基本上可以做一些断言等......
我尝试创建一个包含 MFC 标头的 Win32 控制台应用程序。然后我包含了我的 MFC 应用程序类的头文件。但是,每当我尝试在我的控制台应用程序中创建一个实例,即 CWindowApplicationApp the_app
时,我都会收到链接错误
这是我的控制台应用程序的一些源代码
CWindowApplicationApp the_app;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
int nRetCode = 0;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
// TODO: change error code to suit your needs
_tprintf(_T("Fatal Error: MFC initialization failed\n"));
nRetCode = 1;
else
return nRetCode;
错误 LNK2019:无法解析的外部符号“public: __thiscall CWindowApplicationApp::CWindowApplicationApp(void)”(??0CWindowApplicationApp@@QAE@XZ) 在函数“void __cdecl `dynamic initializer for 'the_app''(void)”中引用( ??__Ethe_app@@YAXXZ)
有什么帮助吗?我已经包含了头文件路径
【问题讨论】:
【参考方案1】:链接器告诉您它不知道在哪里可以找到 CWindowApplicationApp 的构造函数的目标代码。
您需要链接到定义 CWindowApplicationApp
的任何目标文件(通常是 WindowApplicationApp.obj),以及由 WindowApplicationApp.obj 引用的任何其他目标文件(很大程度上取决于您的应用程序结构)。
【讨论】:
【参考方案2】:你走错路了。不可能在另一个应用程序中创建应用程序的实例。可行的方法是将一些测试代码添加到应用程序中并重新构建它。
【讨论】:
以上是关于在mfc下怎么调用一个win32控制台?并且自动向该控制台输入一段信息?的主要内容,如果未能解决你的问题,请参考以下文章
在 MSVC 中有 MFC 自定义控件(设计时)之类的东西,有没有 win32 自定义控件之类的东西?