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

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

如何在VB中截獲shell程序的輸出

2019-11-18 17:41:08
字體:
來源:轉載
供稿:網友
在Windows環境下的所謂shell程序就是dos命令行程序,比如VC的CL.exe命令行編譯器,JDK的javac編譯器,啟動java程序用的java.exe都是標準的shell程序。截獲一個shell程序的輸出是很有用的,比如說您可以自己編寫一個IDE(集成開發環境),當用戶發出編譯指令時候,你可以在后臺啟動shell調用編譯器并截獲它們的輸出,對這些輸出信息進行分析后在更為友好的用戶界面上顯示出來。為了方便起見,我們用VB作為本文的演示語言。

通常,系統啟動Shell程序時缺省給定了3個I/O信道,標準輸入(stdin),標準輸出stdout,標準錯誤輸出stderr。之所以這么區分是因為在早期的計算機系統如PDP-11的一些限制。那時沒有GUI,將輸出分為stdout,stderr可以避免程序的調試信息和正常輸出的信息混雜在一起。

通常,shell程序把它們的輸出寫入標準輸出管道(stdout)、把出錯信息寫入標準錯誤管道(stderr)。缺省情況下,系統將管道的輸出直接送到屏幕,這樣一來我們就能看到應用程序運行結果了。

為了捕獲一個標準控制臺應用程序的輸出,我們必須把standOutput和standError管道輸出重定向到我們自定義的管道。

下面的代碼可以啟動一個shell程序,并將其輸出截獲。
'執行并返回一個命令行程序(shell程序)的標準輸出和標準錯誤輸出'通常命令行程序的所有輸出都直接送到屏幕上PRivateFunctionExecuteApp(sCmdlineAsString)AsStringDimprocaspROCESS_INFORMATION,retAsLongDimstartAsSTARTUPINFODimsaAsSECURITY_ATTRIBUTESDimhReadPNORMAL_PRIORITY_CLASS,0&,0&,start,proc)
好,這樣一來,我們這個函數可以同時很好的支持WindowsNT和Windows95/98了。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青岛市| 渭南市| 衢州市| 会理县| 双桥区| 六枝特区| 明溪县| 泰顺县| 井研县| 南丹县| 南华县| 五原县| 介休市| 南部县| 东乡族自治县| 五寨县| 溆浦县| 佛坪县| 旅游| 江孜县| 迁西县| 鄂托克旗| 盐池县| 胶南市| 奎屯市| 治县。| 楚雄市| 玉屏| 革吉县| 鄂尔多斯市| 石家庄市| 二手房| 凌云县| 攀枝花市| 灯塔市| 子长县| 江西省| 景洪市| 偏关县| 清流县| 康马县|