社区
界面
帖子详情
如何将win32 console application 程序放到win32 application中运行
ypf_1227
2009-05-20 10:07:08
我现在做了一段程序,最后一步是要实现用户见面,之前从来没用过MFC之类的东西,我就希望像在win32 application的hello world里生成的那么个界面,然后在那里面敲命令行用来执行程序,也就是说把dos那界面换成windows的就OK
这个应该怎么弄?
...全文
78
5
打赏
收藏
如何将win32 console application 程序放到win32 application中运行
我现在做了一段程序,最后一步是要实现用户见面,之前从来没用过MFC之类的东西,我就希望像在win32 application的hello world里生成的那么个界面,然后在那里面敲命令行用来执行程序,也就是说把dos那界面换成windows的就OK 这个应该怎么弄?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leither
2009-05-20
打赏
举报
回复
这需要对控制台进行输入输出重定向.
然后,把输入字符作为命令行参数,创建CMD.EXE进程。
用输出重定向读取CMD.EXE执行程序的结果.
以下的代码重载了CEdit类,并响应WM_KEYDOWN消息,粗略里完成命令输入并执行功能 ,楼主可以自行增加其它代码部分。
void CMyEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if (nChar != VK_RETURN)
return;
int nLineCount = GetLineCount();
ZeroMemory(m_szCmdLine,255);
GetLine(nLineCount-1,m_szCmdLine,255);
BOOL bRet = false;
STARTUPINFO si = {0};
PROCESS_INFORMATION pi = {0};
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = TRUE;
sa.lpSecurityDescriptor = NULL;
HANDLE hRead,hWrite;
if (!CreatePipe(&hRead,&hWrite,&sa,0))
return;
si.cb = sizeof(STARTUPINFO);
GetStartupInfo(&si);
si.hStdError = hWrite;
si.hStdOutput = hWrite;
si.wShowWindow = SW_HIDE;
si.dwFlags = STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW ;
char szContent[256] = {0};
DWORD dwNumRead = 0;
CString strConsole = _T("");
TCHAR szShellCmd[_MAX_PATH];
if (!GetEnvironmentVariable(_T("ComSpec"),szShellCmd,_MAX_PATH))
return;
_tcscat(szShellCmd,_T(" /A /c "));
_tcscat(szShellCmd,(LPCTSTR)m_szCmdLine);
if (!SetStdHandle(STD_OUTPUT_HANDLE,si.hStdOutput))
return;
bRet = CreateProcess (NULL,
szShellCmd,
NULL,
NULL,
TRUE,
NULL,
NULL,
NULL,
&si,
&pi );
CloseHandle(hWrite);
if (bRet)
{
while (true)//WaitForSingleObject(pi.hProcess, 0)==WAIT_TIMEOUT)*/ //等待控制台进程关闭
{
ZeroMemory(szContent,256);
if (ReadFile(hRead,(void *)szContent,255,&dwNumRead,NULL) == NULL)
break;
strConsole+=szContent;
SetWindowText(strConsole);
Delay(50);
}
CloseHandle (pi.hProcess);
CloseHandle (pi.hThread);
}
CEdit::OnKeyDown(nChar, nRepCnt, nFlags);
}
hurryboylqs
2009-05-20
打赏
举报
回复
先学习下Windows程序设计基础
WaistCoat18
2009-05-20
打赏
举报
回复
[Quote=引用楼主 ypf_1227 的帖子:]
我现在做了一段程序,最后一步是要实现用户见面,之前从来没用过MFC之类的东西,我就希望像在win32 application的hello world里生成的那么个界面,
就然后在那里面敲命令行用来执行程序
,也是说把dos那界面换成windows的就OK
这个应该怎么弄?
[/Quote]
还是不是很清楚。
ypf_1227
2009-05-20
打赏
举报
回复
我做了一个简单的DBMS 实现了一些最基本的功能 现在想加个界面在这里面
WaistCoat18
2009-05-20
打赏
举报
回复
没弄懂你做什么.
OpenGL类库下载
OpenGL类库 1。下载GLUT库 2。将压缩包内的glut.h
放到
...\\Microsoft ...建立一个控制台工程
Win32
Console
Application
,加入hello.c并
运行
: 工程-设置-连接:在前面加入glu32.lib glut32.lib glaux.lib opengl32.lib
opengl绘制八卦图
选择菜单File
中
的New选项,弹出一个分页的对话框,选
中
页Projects
中
的
Win32
Console
Application
项,然后填入你自己的Project name,回车即可。VC为你创建一个工作区(WorkSpace),你的项目就放在这个工作区里。 为...
新版Android开发教程.rar
程序
可以采用 JAVA 开发,但是因为它的虚拟机 (Virtual Machine) Dalvik ,是将 JAVA 的 bytecode 转成 自 己的格式,回避掉需要付给 SUN 有关 JAVA 的授权费用。 对手机制造者的影响 � Android 是款开源的移动计算...
2.建立一个
Win32
Console
Application
工程,编译好的exe文件在其他的电脑直接
运行
而不需要安装任何其他的package.
首先建立一个空的
win32
console
Application
工程项目. 然后在Resource Files
中
Add一个新的item输入: #include using namespace std; int main(){ int n; cout cout cin>>n;//仅仅是...
Win32
Application
、
Win32
Console
Application
、MFC工程项目
Win32
Application
和
Win32
Console
Application
都是工作在32位Windows环境的
程序
。
Win32
Application
是标准 windows
程序
,完全拥有windows的特性,也即我们常说的窗口应用
程序
!它通过GUI(Graphics User ...
界面
15,979
社区成员
115,897
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章