當前位置:編程學習大全網 - 源碼下載 - VB如何實現PING命令?

VB如何實現PING命令?

利用VB的Shell執行PING命令,將PING的輸出重定向到文件 c:\r.txt,然後讀取c:\r.txt文件顯示運行結果。

由於VB中的Shell命令是異步執行的,即調用Shell後,沒等Shell執行完畢,程序就繼續執行下壹條語句。為此,程序使用了系統API來判斷Shell是否結束。

1)窗體及控件

2)代碼

Option?Explicit

Private?Declare?Function?GetExitCodeProcess?Lib?"kernel32"?(?_

ByVal?hProcess?As?Long,?_

lpExitCode?As?Long)?As?Long

Private?Declare?Function?CloseHandle?Lib?"kernel32"?(?_

ByVal?hObject?As?Long)?As?Long

Private?Declare?Function?OpenProcess?Lib?"kernel32"?(?_

ByVal?dwDesiredAccess?As?Long,?_

ByVal?bInheritHandle?As?Long,?_

ByVal?dwProcessId?As?Long)?As?Long

Const?PROCESS_QUERY_INFORMATION?=?&H400

Const?STILL_ALIVE?=?&H103

Private?Sub?Command1_Click()

If?Trim(Text1.Text)?=?""?Then

MsgBox?"請輸入域名或IP地址",?vbInformation?+?vbOKOnly

Text1.SetFocus

Exit?Sub

End?If

'命令執行期間禁用命令按鈕

Command1.Enabled?=?False

'調用Shell執行Ping,執行結果重定向到C:\r.txt中

Dim?pid?As?Long

pid?=?Shell("cmd.exe?/C?Ping?"?&?Text1.Text?&?"?>?c:\r.txt",?vbHide)

'?提示

Text2.Text?=?"正在執行Ping?"?&?Text1.Text?&?"?..."

'等待Shell執行結束

Dim?hProc?As?Long

hProc?=?OpenProcess(PROCESS_QUERY_INFORMATION,?0,?pid)

Dim?ExitCode?As?Long

Do

Call?GetExitCodeProcess(hProc,?ExitCode)

DoEvents

Loop?While?ExitCode?=?STILL_ALIVE

'清空,準備顯示結果

Text2.Text?=?""

'打開?C:\r.txt文件

Open?"c:\r.txt"?For?Input?As?#1

Dim?strLine?As?String

Do?Until?EOF(1)

Line?Input?#1,?strLine

'顯示執行結果

Text2.Text?=?Text2.Text?&?strLine?&?vbNewLine

Loop

'關閉文件

Close?#1

'刪除C:\r.txt

On?Error?Resume?Next

Kill?"c:\r.txt"

On?Error?GoTo?0

'使能命令按鈕

Command1.Enabled?=?True

End?Sub

Private?Sub?Form_Load()

Text1.Text?=?""

Text2.Text?=?""

End?Sub

3)運行結果

Ping baidu.com 正在執行中 ....

Ping baidu.com執行結果

  • 上一篇:android.mk怎麽在jni編譯時把系統頭文件包含
  • 下一篇:適合女大學生的計算機專業
  • copyright 2024編程學習大全網