有一个DOS下做出来的程序,用户可以通过输入程序所规定的命令行,然后点击回车就可以去统计文本里面的数据(文本输入的格式也是规定的),把统计完后内容输出到另一个文本。//比如统计输入某段时间里的记录
文本所在的路径和新生成的文本的路径均在命令行输入,要统计的关键字或范围也是在命令行输入DOS做的程序使用说明介绍:
本程序可以定义变量,使用关键
字和关键字块,处理附加文件、库文件、分析文件,还能够处理四则运算表达式(带括
号)和关键字逻辑逻辑运算表达式;输入文件为文本文件,可以通过各种文字编辑器获
得,格式自由,使用方便,加上注释后可以成为阅读性很强的数据资料。问题:
现在我想通过在一个对话框中的编辑框里输入要查询的关键字,按一下搜索就可以打开统计后生成的文本
请问我可以通过怎么样的方法实现对话框“搜索”按钮与该程序的通讯呢?因为DOS命令概念我不是很清楚,所以不知道如何
把编辑框中的关键字与程序发生联系,让程序自动进行统计。
我要实现上述功能我应该对程序的那些概念作了解。
麻烦大家给你意见,因为我不知道这个dos程序的源代码,详细点哦,先谢谢啦

解决方案 »

  1.   

    http://www.itzhe.cn/html/Programme/c/20071029/11070.html
      

  2.   

    http://support.microsoft.com/kb/190351/zh-cn
      

  3.   

    我看楼主的意思是不是要执行dos程序的命令行啊
    即按下“搜索”按钮,生成相应命令行,执行dos程序。
    如果是这样的话,使用CreateProcess或者ShellExecute。如果不是,又没有dos程序源码,使用管道。
      

  4.   

    当然是使用管道了,管道可以得到DOS返回的所有信息,而使用CreateProcess或者ShellExecute是不行的.使用管道你完全可以将DOS做入你的WINDOWS界面的程序之中,而看不出任何DOS的痕迹来,我就曾经使用这个方法来调用系统的net use来操作网络连接,因为公司的共享目录要求管理员帐号才有写权限,平时的权限是只读的,所以当你要改用管理员权限登录时,只有先net use \\xxxx /del删除掉现有链接,然后 net use \\xxxx "密码" /u:"用户",但这样在CMD上操作是会被其它人看到的.因此有了这个想法,将功能做到一个窗口里,输入密码时是*号的,而且很多常用共享目录直接选择即可,用完还可以按一下按钮就删除登录.太方便了.所以楼主的想法很可行.
      

  5.   

    CreateProcess或ShellExecute都可以指定不显示窗口,另外,楼主说统计完输出到文件,那么这样做就比使用管道方便很多。当然也就失去了管道可以实现的很多特点。