冷风 打造自己的GUI专版命令行程序

本文介绍了如何将命令行程序封装成GUI版本,以提高易用性。以GetOS.exe为例,展示了原命令行工具和改造后的GUI界面,提供了一个简单的方法让读者可以为自己喜欢的CMD程序创建GUI专版。
摘要由CSDN通过智能技术生成

注:本文于07/4月于黑客防线发表版权归黑客防线所有,转载请注明出处

  打造自己的GUI专版命令行程序

  文/图 德州科技职业学院 冷风

 命令行下的工具效率高,速度快,但是当程序的参数太多时,却不易于使用。所以我们就给它做个界面封装一下,顺 便把我们的大名也加上呵呵为了方便说明我们选用一个比较简单的程序GetOS.exe它是MS04011工具包中的一个小 工具,主要用来探测目标系统的类型原程序和改造后的效果如图1和图2所示

  

实现思路:

    现在主要有两个问题需解决
    
1 .怎样在GUI程序中把参数传递给CMD程序
    
2 .怎样把结果传回到界面

    这两个问题可以用CreateProcess结合管道来解决,可以用CreateProcess创建CMD程序并传递需要参数
    执行完成后再将结果写到指定的管道中去,最后把管道的内容更新到界面程序的控件中。

 

 

结构说明:
    在开始之前先看几个比较重要的结构和API函数

    CreateProcess用来创建新的进程它的的原形如下:
    BOOL CreateProcess(
      LPCTSTR lpApplicationName,
                             
//  pointer to name of executable module
      LPTSTR lpCommandLine,   //  pointer to command line string
      LPSECURITY_ATTRIBUTES lpProcessAttributes,   //  process security attributes
      LPSECURITY_ATTRIBUTES lpThreadAttributes,    //  thread security attributes
      BOOL bInheritHandles,   //  handle inheritance flag
      DWORD dwCreationFlags,  //  creation flags
      LPVOID lpEnvironment,   //  pointer to new environment block
      LPCTSTR lpCurrentDirectory,    //  pointer to current directory name
      LPSTARTUPINFO lpStartupInfo,   //  pointer to STARTUPINFO
      LPPROCESS_INFORMATION lpProcessInformation   //  pointer to PRO
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值