自建控制台问题

永夜星空 2008-07-20 12:32:13
我创建了个普通(非控制台)Win32工程,可是我要根据参数来确定显示图形窗口还是控制台窗口.
我知道怎么创建控制台窗口 :
BOOL b=::AttachConsole((DWORD)-1); //附加到父进程的控制台.
if(!b)b=::AllocConsole(); //如果上面操作不成就自己创建控制台
if(b)hStdOut=::GetStdHandle(STD_OUTPUT_HANDLE); //获得控制台输出句柄
.... //一系列的控制台输出语句等等

可是有个关键性的问题没有解决:当在CMD中启动程序时,当程序还没结束,CMD就可以接受命令了,就是说父进程不等待我的程序返回。而我们普通的控制台程序,如果是在CMD中启动,CMD一直要等到程序结束才会可能接受新的命令,就是说cmd.exe的输入被阻塞了。我就是想要自己创建的控制台和普通的向导生成的控制台一样呀...或者我缺少个什么步骤?而且再怎么摆弄输入句柄也不成。盼望哪位资深人士指点一下^_^
...全文
40 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
永夜星空 2008-07-20
  • 打赏
  • 举报
回复
Up UP
菜牛 2008-07-20
  • 打赏
  • 举报
回复
做两个程序,控制台的和图形界面的,控制台的作为主程序,如果参数是显示图形界面再调用图形界面的程序。
前提:myeclipse汉化包下载 分为两种情况: 一如果安装目录出现带空格的文件夹,解决方案如下: (此处是以安装在C:/Program Files下为例) 1. 将汉化包中的language文件夹复制到一个没有空格的文件夹中,比如F:/MyEclipse(只是一个举例,也可以是D: /soft /myeclipse等) 2. 创建一个项目,在项目里面建立一个 CreatePluginsConfig类,把上面的代码复制进去,记得修改你的插件路径。 3. 将CreatePluginsConfig中的汉化包插件路径C://myEclipse//language//plugins替换为上面建的F: /MyEclipse 4.运行你的CreatePluginsConfig类,然后在控制台下面会输出一大串英文。这时要全部把控制台输出的英文都复制到 C:/Program Files/Genuitec/MyEclipse 8.5/configuration/org.eclipse.equinox.simpleconfigurator ,用记事本把bundles.info 打开,在最后一行回车一下。把刚才在控制台里面的内容都粘贴进去保存。 5.找到C:/Program Files/Genuitec/MyEclipse 8.5的目录下找到myeclipse.ini文件,用记事本打开在最后一行加多一条语句 -Duser.language=zh 6:保存,启动你的MyEclipse吧,这里你就可以看到中文的界面了,祝你成功。 二 安装目录没有出现带空格的文件夹,汉化方案如下: (此处是以安装在F:/MyEclipse下为例) 1. 将汉化包中的language文件夹复制到F:/MyEclipse/Genuitec/Common/下面。 2.创建一个项目,在项目里面建立一个CreatePluginsConfig类,把上面的代码复制进去,记得修改你的插件路径。 3.将CreatePluginsConfig中的汉化包插件路径C://myEclipse//language//plugins替换为上面建的F: //MyEclipse //Genuitec//Common//language//plugins 4.运行你的CreatePluginsConfig类,然后在控制台下面会输 出一大串英文。这时要全部把控制台输出的英文都复制到F: /MyEclipse / Genuitec/MyEclipse 8.5/configuration/org.eclipse.equinox.simpleconfigurator ,用记事本把bundles.info 打开,在最后一行回车一下。把刚才在控制台里面的内容都粘贴进去保存。 5.找到F:/MyEclipse /Genuitec/MyEclipse 8.5的目录下找到myeclipse.ini文件,用记事本打开在最后一行加多一条语句 -Duser.language=zh 6.保存,启动你的MyEclipse吧,这里你就可以看到中文的界面了,祝你成功。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧