WEB开发网
开发学院软件开发VC 颜色支持,控制台应用 阅读

颜色支持,控制台应用

 2006-07-20 11:38:36 来源:WEB开发网   
核心提示: 如果你看一下 Visual Studio 的安装目录,你会发现实际上有两个程序:devenv.exe和 devenv.com,颜色支持,控制台应用(4),还记得.com 是什么吗? 它可不是 Web,而是可执行程序,这两个程序都调用相同的模块—— EnumProc,

如果你看一下 Visual Studio 的安装目录,你会发现实际上有两个程序:devenv.exe和 devenv.com。还记得.com 是什么吗? 它可不是 Web,而是可执行程序,在很久很久以前,当你还是小孩子的时候,基于 Windows 的程序有三种内存模式:大内存模式(large)、小内存 模式(small)和巨大内存模式(huge)。其它的模式都被叫做紧凑模式或微小模式,它们产生不同类型的可执行文件,这些可执行文件都以 .com 作为扩展名。(.com文件是一种在加载时不需要固定地址的直接内存映 象,这样使用起来非常的快,但它们必须很小。) 现在内存模式已经没有这么多了,大部分可执行文件都使用PE格式。但是命令解释器仍然能识别 .com 可执行文件,并且你可以将任何.exe 程序重新 更名为 .com 程序,如把 foo.exe 改成 foo.com,它仍然可以通过输入名字执行。所以可以用这个技巧去创建两个程序:foo.com 和 foo.exe。一个是 控制台应用程序,另一个是基于 Windows 应用程序。

Figure 2 在对话框里显示进程列表

为了示范它的工作原理,我修改了我在2002年7月专栏文章里的程序lp(列举进程)(编者注:中文译文参见在线杂志第14期文章——“如何获取某个进程的主窗口以及创建进程的程序名?”),它既可作为 GUI 程序运行,也可作为控制台程序运行。如果你输入 ListProc 而不用参数,它会在对话框中列出进程,如 Figure 2 所示。如果你键入 ListProc -c,它会以控制台模式运行并列出进程,如 Figure 3 所示。ListProc 有两个主程序文件:ListProc.cpp 是通常的 MFC 应用实现,ListProc-cons.cpp 是控制台应用实现。这两个程序都调用相同的模块—— EnumProc,实际的进程列表正是由它产生的。ListProc-cons 处理命令行并显示控制台信息,没有用命令行参数的程序通过调用 ShellExecute 启动程序的 GUI 版本。

上一页  1 2 3 4 5 6 7  下一页

Tags:颜色 支持 控制台

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接