將乙個或多個按鍵訊息傳送到活動視窗,就如同在鍵盤上進行輸入一樣。
語法 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族中找...