你要用System.IO去截獲命令提示行(也就是cmd)的流信息,然后才能填充到你的winform界面控件中去。
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)博湖免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
如果是VB.NET的話,新建項目的時候選CONSOLE APPLICATION就可以了.生成的程序可以在DOS下運行.
運行一個可執(zhí)行程序,并且如果該程序仍然在運行,則返回一個包含該程序的進(jìn)程 ID 的整數(shù)。
Public Function Shell( _
ByVal PathName As String, _
Optional ByVal Style As AppWinStyle = AppWinStyle.MinimizedFocus, _
Optional ByVal Wait As Boolean = False, _
Optional ByVal Timeout As Integer = -1 _
) As Integer
參數(shù)
PathName
必選。String。要執(zhí)行的程序的名稱,以及任何必選的參數(shù)和命令行開關(guān)。PathName 也可以包含驅(qū)動器和目錄路徑或文件夾。
如果您不知道程序的路徑,可以使用 My.Computer.FileSystem.GetFiles 方法進(jìn)行查找。例如,調(diào)用 My.Computer.FileSystem.GetFiles("C:\", True, "testFile.txt") 可以返回驅(qū)動器 C:\ 上任意處的名稱為 testFile.txt 的每個文件的完整路徑。
Style
可選。AppWinStyle。從 AppWinStyle 枚舉中選擇的值,指定要在其中運行程序的窗口的樣式。如果省略 Style,則 Shell 將使用 AppWinStyle.MinimizedFocus,它啟動程序后最小化并帶有焦點。
Wait
可選。Boolean。指示 Shell 函數(shù)是否應(yīng)等待程序完成的值。如果省略 Wait,Shell 將使用 False。
Timeout
可選。Integer。Wait 為 True 時要等待的毫秒數(shù)。如果省略 Timeout,則 Shell 使用 -1 表示沒有超時,并且 Shell 直到程序完成才會返回。因此,如果省略 Timeout 或?qū)⑵湓O(shè)置為 -1,則 Shell 可能永遠(yuǎn)不會將控制返回您的程序。
如果你要獲得顯示的結(jié)果,我知道的方法是使用一個dos管道(名字玄乎,實際上沒什么)
在命令的最后加一個 (filename)
這樣這個命令所有的顯示結(jié)果就背記錄在(filename)里面了
比如
dir a.txt
這樣dir顯示的結(jié)果就是背全部記錄在a.txt里面
用個例子進(jìn)行演示一下,比如在VB中調(diào)用DOS命令,如何得知DOS命令是否已經(jīng)執(zhí)行完畢
方法如下:
Set wshl = CreateObject("wscript.shell")
wshl.Run "ping 9zp.com", 1, True 'true代表等待完成,1代表顯示運行窗口
wshl.Run "sqlcmd -S 192.168.8.58 -U sa -P sa~!@# -d pubs -Q ""insert into test(MatNo) Values('" Trim(Text1.Text) "')""", 0, True 'true代表等待完成,1代表顯示運行窗口"
MsgBox "完成".
運行一個可執(zhí)行程序,并且如果該程序仍然在運行,則返回一個包含該程序的進(jìn)程
ID
的整數(shù)。
Public
Function
Shell(
_
ByVal
PathName
As
String,
_
Optional
ByVal
Style
As
AppWinStyle
=
AppWinStyle.MinimizedFocus,
_
Optional
ByVal
Wait
As
Boolean
=
False,
_
Optional
ByVal
Timeout
As
Integer
=
-1
_
)
As
Integer
參數(shù)
PathName
必選。String。要執(zhí)行的程序的名稱,以及任何必選的參數(shù)和命令行開關(guān)。PathName
也可以包含驅(qū)動器和目錄路徑或文件夾。
如果您不知道程序的路徑,可以使用
My.Computer.FileSystem.GetFiles
方法進(jìn)行查找。例如,調(diào)用
My.Computer.FileSystem.GetFiles("C:\",
True,
"testFile.txt")
可以返回驅(qū)動器
C:\
上任意處的名稱為
testFile.txt
的每個文件的完整路徑。
Style
可選。AppWinStyle。從
AppWinStyle
枚舉中選擇的值,指定要在其中運行程序的窗口的樣式。如果省略
Style,則
Shell
將使用
AppWinStyle.MinimizedFocus,它啟動程序后最小化并帶有焦點。
Wait
可選。Boolean。指示
Shell
函數(shù)是否應(yīng)等待程序完成的值。如果省略
Wait,Shell
將使用
False。
Timeout
可選。Integer。Wait
為
True
時要等待的毫秒數(shù)。如果省略
Timeout,則
Shell
使用
-1
表示沒有超時,并且
Shell
直到程序完成才會返回。因此,如果省略
Timeout
或?qū)⑵湓O(shè)置為
-1,則
Shell
可能永遠(yuǎn)不會將控制返回您的程序。
如果你要獲得顯示的結(jié)果,我知道的方法是使用一個dos管道(名字玄乎,實際上沒什么)
在命令的最后加一個
(filename)
這樣這個命令所有的顯示結(jié)果就背記錄在(filename)里面了
比如
dir
a.txt
這樣dir顯示的結(jié)果就是背全部記錄在a.txt里面