走近VB.NET十六 SendKeys方法與Shell函式 (轉)

worldblog發表於2007-12-09
走近VB.NET十六 SendKeys方法與Shell函式 (轉)[@more@]

走近十六 SendKeys方法與

hejianzhong

VB.Net中使用Sendkeys遙控:
大家在中都用過sendkeys,幕透過傳送鍵盤的事件間接地控制外部,是有遙控之說。
我在VB7中卻發現這個不能用了, 也就不了了之,
後來一次在查閱MSDN的時候竟看到了這個,是以嘗試了一下,竟然舊貌新顏,還是一樣好用。

主要是在system.s族中找到sendkeys 使用方法同VB6
鍵:一般的字元鍵如下輸入”A” “B” “C”………………”Z”等,如果要連續按下兩個以上就使用”AB”的形式
如果同時按下AB就使用括號如”(AB)”

如果是功能鍵,就放到大括號中如“{F4}” 另:用+代表Shift,用^代表Ctrl,用%代表Alt

如“+A”表示按下Shift同時按A

下面是一個例子:

Dim sdstr As System.WinForms.SendKeys

sdstr.Send("%{F4}") 傳送ALT+F4

db" --&gt

下面這個程式碼在按下Button2以後轉移焦點到下一個,

 

使按鈕能按下又不能按受焦點.

Protected Sub Button2_Click(ByVal sender As , ByVal e As System.EventArgs)

Dim sdstr As System.WinForms.SendKeys

sdstr.Send("{TAB}")

End Sub

下面使用SendWait,使用的方法同上,不過這個過程會等待到傳送的鍵執行完成以後,再繼續執行後面的程式碼.

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)

Dim sdstr As System.WinForms.SendKeys

'sdstr.Send("{TAB}")

sdstr.SendWait("{TAB}")

End Sub

 

VB.NET中使用shell外部程式:

Shell(pathname as string,[style as .visualbasic.appwinstyle=2],[wait as boolean=false],[timeout as integer=-1]) as integer

呼叫

Dim PID As Integer
PID = Shell("explorer.exe ", Microsoft.VisualBasic.AppWinStyle.NormalFocus, True)

呼叫預設程式

Dim PID As Integer
PID = Shell("start.exe to:vbnetcn@163.com", Microsoft.VisualBasic.AppWinStyle.H, True)

使用Microsoft.VisualBasic.AppWinStyle.Hide引數是為了隱藏程式執行時跳出的DOS視窗。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990055/,如需轉載,請註明出處,否則將追究法律責任。

相關文章