sendkeys用法詳解

2022-01-10 17:19:32 字數 3838 閱讀 4825

將乙個或多個按鍵訊息傳送到活動視窗,就如同在鍵盤上進行輸入一樣。

語法 sendkeys string[, wait]

sendkeys 語句的語法具有以下幾個命名引數:

部分 描述  

string 必需的。字串表示式,指定要傳送的按鍵訊息。  

wait   可選的。指定等待方式的 [email protected] 值。如果為 false(預設值),則控制項在按鍵傳送出去之後立刻返回到過程。如果為 true,則按鍵訊息必須在控制項返回到過程之前加以處理。  

說明 每個按鍵由乙個或多個字元表示。為了指定單一鍵盤字元,必須按字元本身的鍵。例如,為了表示字母 a,可以用 "a" 作為 string。為了表示多個字元,就必須在字元後面直接加上另乙個字元。例如,要表示 a、b 及 c,可用 "abc" 作為 string。

對 sendkeys 來說,加號 (+)、插入符 (^)、百分比符號 (%)、上劃線 (~) 及圓括號 ( ) 都具有特殊意義。為了指定

上述任何乙個字元,要將它放在大括號 ({}) 當中。例如,要指定正號,可用 表示。方括號 ([ ]) 對 sendkeys 來說並不具有

特殊意義,但必須將它們放在大括號中。在其它應用程式中,方括號有特殊意義,在出現動態資料交換 (dde)

的時候,它可能具有重要意義。為了指定大括 號字元,請使用 及 {}}。

為了在按下按鍵時指定那些不顯示的字元,例如 enter 或 tab 以及那些表示動作而非字元的按鍵,請使用下列**:

按鍵 **

backspace , , 或   

break   

caps lock   

del or delete 或   

down arrow   

end   

enter 或 ~  

esc   

help   

home   

ins or insert 或   

left arrow   

num lock   

page down   

page up   

print screen   

right arrow   

scroll lock   

tab   

up arrow   

f1   

f2   

f3   

f4   

f5   

f6   

f7   

f8   

f9   

f10   

f11   

f12   

f13   

f14   

f15   

f16   

為了指定那些與 shift、ctrl 及 alt 等按鍵結合的組合鍵,可在這些按鍵碼的前面放置乙個或多個**,這些**列舉如下:

按鍵 **  

shift +  

ctrl ^  

alt %

為了說明在按下其它按鍵時應同時按下

shift、ctrl、及 alt 的任意組合鍵,請把那些按鍵的碼放在括號當中。例如,為了說明按 下 e 與 c 的時候同時按下 shift

鍵,請使用 "+(ec)"。為了說明在按下 e 的時候同時按下 shift 鍵,但接著按 c 而不 按 shift,則使用 "+ec"。

為了指定重複鍵,使用 的形式。必須在 key 與 number 之間放置乙個空格。例如, 意指 42 次按下 left arrow 鍵; 則是指 10 次按下 h 鍵。

注意 不能用 sendkeys 將按鍵訊息傳送到這樣乙個應用程式,這個應用程式並沒有被設計成在 microsoft windows 中執行。sendkeys 也無法將 print screen 按鍵 傳送到任何應用程式

輸入「漢字-啊」的時候 用

sendkeys "漢字"

doevents

sendkeys "-"

doevents

sendkeys "啊"

sendkeys 語句示例

本示例使用

shell 函式來執行 microsoft windows 所附的計算器程式;然後使用 sendkeys

vb.net中使用sendkeys遙控:

大家在vb6中都用過sendkeys,幕通過傳送鍵盤的事件間接地控制外部程式,是有遙控之說。

我在vb7中卻發現這個不能用了, 也就不了了之,

後來一次在查閱msdn的時候竟看到了這個,是以嘗試了一下,竟然舊貌新顏,還是一樣好用。

主要是在system.winforms族中找到sendkeys 使用方法同vb6

鍵:一般的字元鍵如下輸入」a」 「b」 「c」………………」z」等,如果要連續按下兩個以上就使用」ab」的形式

如果同時按下ab就使用括號如」(ab)」

如果是功能鍵,就放到大括號中如「」 另:用+代表shift,用^代表ctrl,用%代表alt

如「+a」表示按下shift同時按a

下面是乙個例子:

dim sdstr as system.winforms.sendkeys

sdstr.send("%") 傳送alt+f4

下面這個**在按下button2以後轉移焦點到下乙個控制項,

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

protected sub button2_click(byval sender as object, byval e as system.eventargs)

dim sdstr as system.winforms.sendkeys

sdstr.send("")

end sub

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

protected sub button2_click(byval sender as object, byval e as system.eventargs)

dim sdstr as system.winforms.sendkeys

'sdstr.send("")

sdstr.sendwait("")

end sub

vb.net中使用shell呼叫外部程式:

shell(pathname

dim wshshell

set wshshell=wscript.createobject("wscript.shell")

'wshshell.run " "

'wscript.sleep 1000

wshshell.sendkeys ""

'wscript.sleep 1000

wshshell.sendkeys ""

'wscript.sleep 1000

wshshell.sendkeys ""

'wscript.sleep 1000

wshshell.sendkeys ""

'wscript.sleep 1000

wshshell.sendkeys ""

重啟計算機

dim wshshell

set wshshell = wscript.createobject("wscript.shell")

wshshell.sendkeys "^u"

wshshell.sendkeys "r"

彈出關閉對話方塊

Vegas原創 sendkeys例項

需求 將excel檔更新提醒關閉,並另存為a xls.dimwshset wsh wscript.createobject wscript.shell wsh.run 每日生產狀況表.xls wscript.sleep 1000 wsh.sendkeys wscript.sleep 100wsh.s...

Vegas原創 sendkeys例項

需求 將excel檔更新提醒關閉,並另存為a xls.dimwsh setwsh wscript.createobject wscript.shell wsh.run 每日生產狀況表.xls wscript.sleep 1000 wsh.sendkeys wscript.sleep 100wsh.s...

VB之SendKeys鍵盤模擬

vb sendkeys語句詳解 大家在vb6中都用過sendkeys,幕通過傳送鍵盤的事件間接地控制外部程式,是有遙控之說。我在vb7中卻發現這個不能用了,也就不了了之,後來一次在查閱msdn的時候竟看到了這個,是以嘗試了一下,竟然舊貌新顏,還是一樣好用。主要是在system.winforms族中找...