国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用VB將命令行軟件Windows化

2019-11-18 17:36:31
字體:
來源:轉載
供稿:網友
有很多深受歡迎的軟件,如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則隱藏窗體

IfHWND<32Then'hWin<32則啟動應用程序失敗

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化,而且運行起來真假難辨,有興趣的讀者不妨試一試。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵州省| 广西| 龙岩市| 高阳县| 资源县| 冀州市| 大名县| 柳林县| 板桥市| 莲花县| 专栏| 田林县| 乌审旗| 武山县| 当雄县| 龙南县| 雅安市| 丰原市| 科技| 唐海县| 富阳市| 嵊泗县| 六安市| 江山市| 新津县| 南康市| 寿宁县| 林芝县| 巴东县| 武义县| 巴里| 星座| 平和县| 仙桃市| 米脂县| 新绛县| 托克托县| 灵石县| 鲁甸县| 年辖:市辖区| 育儿|