用VB将命令行软件Windows化

半分思念情

半分思念情

2016-02-19 18:10

今天图老师小编给大家精心推荐个用VB将命令行软件Windows化教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~
有很多深受欢迎的软件,如ARJ,UNDISK等都是在DOS环境下以命令行的形式出现的。其特点就是依靠大量的参数和开关变量来实现其丰富的功能。利用VisualBasic可以简单地把此类软件改写成WINDOWS版本,其中大量的开关参数可用菜单、列表框、组合框和复选框等一一映射成图形界面。而命令的调用。可以用VB提供的SHELL函数,其语法为:
  
  shell(命令字符串[,窗口风格])
  
  如以下VB小程序:
  
  SubCommand3D1_Click()
  
  Dimx
  
  x=Shell("c:oolsarj.exeaa:democ:demo*.*")
  
  EndSub
  
  但使用SHELL函数会出现WINDOWS界面和DOS黑色界面的突然切换,显得不美观。如何解决这个问题呢?使用WINDOWS的API函数WinExec,可以在隐含的窗体中启动应用程序,使命令行程序完全在后台执行。下面给出一例,将ARJ完全WINDOWS化,其效果完全可以乱真。
  
  SubCommand1_Click()
  
  DimcmdAsString
  
  DimhWndAsInteger
  
  cmd="c:dosARJ.pif"&list1.Text&"-"&LIST2.Text&
  ""&text2.Text&""&text1.Text'list1、list2输入参数,text1,text2输入文件路径
  
  hWnd=WinExec(cmdline,0)'参数为0则隐藏窗体
  
  IfHWND32Then'hWin32则启动应用程序失败
  
  MsgBox"error!"
  
  ExitSub
  
  EndIf
  
  WhileGetModuleUsage(HWND)
  
  mousepointer=11‘鼠标呈沙漏状
  
  WAIT=DoEvents()
  
  Wend
  
  mousepointer=1'鼠标复原为箭头
  
  EndSub
  
  在此例中,笔者使用了WINDOWS的PIF编辑器将ARJ.EXE编辑成ARJ.PIF,是因为类似ARJ这样的软件是以全屏方式执行的,而WINEXEC函数只能隐藏以窗体方式运行的程序。在编辑PIF文件时显示方式选择“窗口”,执行方式选择“后台”,这样就解决了上面提到的界面突换的问题。而调用API函数GetModuleUsage以获得应用程序结束的标志,若运行完毕则返回TRUE,若未运行完毕则让出CPU控制权,为运行ARJ提供时机。这样的小程序完全可以实现命令行软件的WINDOWS化,而且运行起来真假难辨,有兴趣的读者不妨试一试。->

展开更多 50%)
分享

猜你喜欢

用VB将命令行软件Windows化

编程语言 网络编程
用VB将命令行软件Windows化

mac命令行终端怎么卸载软件 mac命令行终端卸载软件教程

服务器
mac命令行终端怎么卸载软件 mac命令行终端卸载软件教程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

从Windows命令行启动MySQL

编程语言 网络编程
从Windows命令行启动MySQL

Delphi命令行参数

编程语言 网络编程
Delphi命令行参数

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Access命令行参数

电脑网络
Access命令行参数

启动命令行选项

编程语言 网络编程
启动命令行选项

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何设置自己的QQ地理位置显示状态

如何设置自己的QQ地理位置显示状态

非Access数据库在VB中的编程及应用

非Access数据库在VB中的编程及应用
下拉加载更多内容 ↓