vb 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呼叫外部程式:
呼叫資源管理器
呼叫預設程式
sendkeys是將乙個或多個按鍵訊息傳送到活動視窗,就如同在鍵盤上進行輸入一樣,簡單說就是模擬按鍵
看例子
dim returnvalue, i
returnvalue = shell("calc.exe", 1) ' 執行計算器。
for i = 1 to 100 ' 設定計數迴圈。
sendkeys i & "", true ' 按下按鍵給計算器
next i ' 將所有 i 值相加。
sendkeys "=", true ' 取得總合。
msgbox "看結果吧"
sendkeys "%", true ' 按 alt+f4 關閉計算器。
如果覺得太難你看這個例子簡單了吧
將timer1控制項的interval設定為1000
private sub timer1_timer()
text1.setfocus
sendkeys "a"
end sub
再來理解sendkeys "+"你看看會有什麼結果
用這個例子
private sub timer1_timer()
text1.setfocus
sendkeys "+"
end sub
會發現text1中的文字全選了
[結論]
sendkeys很方便,但千萬要慎重使用,這是一柄雙刃劍,使用不當會傷害自己。
[下面是msdn的中文幫助]
sendkeys語句 返回索引
將乙個或多個按鍵訊息傳送到活動視窗,就如同在鍵盤上進行輸入一樣。
語法 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 string[, wait]
sendkeys 語句的語法具有以下幾個命名引數:
string 必需的。字串表示式,指定要傳送的按鍵訊息。
wait 可選的。指定等待方式的 [email protected] 值。如果為 false(預設值),則控制項在按鍵傳送出去之後立刻返回到過程。如果為 true,則按鍵訊息必須在控制項返回到過程之前加以處理。
說明每個按鍵由乙個或多個字元表示。為了指定單一鍵盤字元,必須按字元本身的鍵。例如,為了表示字母 a,可以用 "a" 作為 string。為了表示多個字元,就必須在字元後面直接加上另乙個字元。例如,要表示 a、b 及 c,可用 "abc" 作為 string。
對 sendkeys 來說,加號 (+)、插入符 (^)、百分比符號 (%)、上劃線 (~) 及圓括號 ( ) 都具有特殊意義。為了指定上述任何乙個字元,要將它放在大括號 ({}) 當中。例如,要指定正號,可用 表示。方括號 ([ ]) 對 sendkeys 來說並不具有特殊意義,但必須將它們放在大括號中。在其它應用程式中,方括號有特殊意義,在出現動態資料交換 (dde) 的時候,它可能具有重要意義。為了指定大括號字元,請使用 及 {}}。
為了在按下按鍵時指定那些不顯示的字元,例如 enter 或 tab 以及那些表示動作而非字元的按鍵
為了說明在按下其它按鍵時應同時按下 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 按鍵 傳送到任何應用程式
VB之SendKeys鍵盤模擬
vb sendkeys語句詳解 大家在vb6中都用過sendkeys,幕通過傳送鍵盤的事件間接地控制外部程式,是有遙控之說。我在vb7中卻發現這個不能用了,也就不了了之,後來一次在查閱msdn的時候竟看到了這個,是以嘗試了一下,竟然舊貌新顏,還是一樣好用。主要是在system.winforms族中找...
程式模擬按鍵,SendKeys傳送空格
做了乙個小程式,用按鈕來模擬數字的輸入,如下圖 將10個按鈕放在乙個panel1中,名稱分別是button1,button2,後面依次類推 下面的文字框名稱為textbox1 想要解決的問題 當點選乙個按鈕時,就如同使用者輸入了乙個數字,並在其後打了乙個空格,比如我點選一下8,相當於在textbox...
selenium之模擬鍵盤事件
selenium裡面提供了乙個keys 類,它提供了鍵盤上幾乎所有的按鍵方法 from selenium.webdriver.common.keys import keys 匯入keys類 示例 from selenium import webdriver from selenium.webdriv...