vb中sendkeys顯示的問題

時間 2022-02-18 06:45:15

1樓:捌零老陳

'說明,傳送key的時候注意把焦點給要傳送的地方dim pos as integer

dim str1 as string

dim str2 as string

dim str3 as string

dim len1 as long

private sub form_load()str1 = "好雨知時節。"

len1 = len(str1)

str2 = ""

str3 = ""

pos = 0

timer1.enabled = falseend sub

private sub timer1_timer()str2 = mid(str1, pos + 1, 1)text1.setfocus

sendkeys str2

pos = pos + 1

if (pos + 1) > len1 thentext1.setfocus

sendkeys "" '這個語句也不好使。

pos = 0

end if

end sub

private sub command1_click()timer1.enabled = trueend sub

private sub command2_click()timer1.enabled = falsepos = 0

str2 = ""

str3 = ""

end sub

2樓:

傳送按鍵之前先設定焦點:

if (pos+1)>len1 then

text1.setfocus

sendkeys ""

pos=0

endif

3樓:匿名使用者

<> 0 then sendkeys "" else sendkeys c end if next i 其中,你要按的鍵放在s字串中,迴圈的作用是剝離每個字元,看是否為特殊字元,不

vb中的sendkeys用法

4樓:

sendkeys 語句

[編輯本段]描述

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

[編輯本段]語法

sendkeys string[, wait]

引數意義:

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

wait可選的,指定等待方式的值。如果為 false(預設值),則控制元件在按鍵傳送出去之後立刻返回到過程;如果為 true,則按鍵訊息必須在控制元件返回到過程之前加以處理。說明每個按鍵由一個或多個字元表示。

[編輯本段]用法

1)為了指定單一鍵盤字元,必須按字元本身的鍵。例如,為了表示字母 a,可以用 "a" 作為 string。為了表示多個字元,就必須在字元後面直接加上另一個字元。

例如,要表示 a、b 及 c,可用 "abc" 作為 string。

2)對 sendkeys 來說,加號+ 、插入符^ 、百分號% 、上劃線~ 及圓括號( ) 都具有特殊意義。為了指定上述任何一個字元,要將它放在大括號{}當中。例如,要指定正號,可用 表示。

為了指定大括號字元,請使用 及 {}}。方括號 [ ] 對 sendkeys 來說並不具有特殊意義,但必須將它們放在大括號中。在其它應用程式中,方括號有特殊意義,在出現動態資料交換 (dde) 的時候,它可能具有重要意義。

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

按鍵 **

backspace , 或

break

caps lock

del or delete 或

enter 或 ~

escnum lock

scroll lock

up arrow

down arrow(下箭頭)

left arrow

right arrow

endhome

ins or insert 或

page down

page up

print screen

win ^

tabhelp

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

鍵 **

shift +

ctrl ^

alt %

5)為了說明在按下其它按鍵時應同時按下 shift、ctrl、及 alt 的任意組合鍵,請把那些按鍵的碼放在括號當中。例如,為了說明按下 e 與 c 的時候同時按下 shift 鍵,請使用 "+(ec)"。為了說明在按下 e 的時候同時按下 shift 鍵,但接著按 c 而不按 shift,則使用 "+ec"。

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

注意 不能用 sendkeys 將按鍵訊息傳送到這樣一個應用程式——這個應用程式並沒有被設計成在 microsoft windows 中執行。

注意:sendkeys 也無法將 print screen 按鍵傳送到任何應用程式。

[編輯本段]示例

set wshshell = wscript.createobject("wscript.shell") '呼叫

wscript.sleep 100 '延時0.1秒

wshshell.sendkeys "abcd" '順序傳送abcd四個鍵

vb.net中使用sendkeys無效?

5樓:娜莉

這樣試試sendkeys.send("")。

還有,就是游標的問題,游標不在那,發了也沒用,先用 textbox.focus() 這個函式名不知道對不對,點了看是不是這個,先設定焦點,然後再傳送鍵值。

6樓:東哥

vb.net中使用sendkeys無效,是因為視窗沒有處於活動狀態。

vb6的sendkeys有時有些問題,比如開啟工作管理員,以下**可以:

sub main()

dim wshshell as objectset wshshell = createobject("wscript.shell")

wshshell.sendkeys "^+"

end sub

以下**卻不可以:

sub main()

sendkeys "^+"

end sub

所以最好使用wscript.shell中的sendkeys。

vb中,如何用sendkeys按出alt+tab

7樓:匿名使用者

sendkeys "%"

語法sendkeys string[, wait]

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

8樓:

sendkeys "%"就好了

9樓:匿名使用者

sendkeys "%"

vb6中使用 sendkeys "^v" 的問題

10樓:匿名使用者

clipboard.clear

clipboard.setdata loadpicture("c:\1111.bmp")

sendkeys "^v"

doevents

clipboard.clear

clipboard.settext "核動力飛機會實現嗎?"

sendkeys "^v"

vb中sendkeys怎麼讓它只執行一次?

11樓:匿名使用者

自定義一個變數啊,用過就不執行就行了。

dim undo as integer

private sub form_load()undo = 0

end sub

private sub mnuundo_click()if undo = 0 then

sendkeys "^z"

undo = 1

end if

end sub

關於vb中的sendkeys的問題

12樓:匿名使用者

用time不好控制的。

介紹你2個方法;

方法1:

option explicit

private declare sub sleep lib "kernel32" (byval dwmilliseconds as long)

sleep 3000』休息3秒

msgbox "我是休息3秒才出來的"』休息了3秒就來執行你後面的**了,隨便寫。

方法2:

dim lngtime as longlngtime = timer

while timer - lngtime < 1 '延時1秒

doevents

wend

呵呵,希望採納

13樓:匿名使用者

試試doevents

14樓:失戀的小和尚

這樣是你思路的問題!

我不知道你的exe是怎麼啟動的,不管你是手動啟動還是使用shell函式啟動,vb都不可能自己知道什麼時候該輸入資料了,所以正確的做法是窗體啟動後天加一個時間控制元件timer來監視程式啟動到什麼地方了。監視的方法很簡單,使用findwindows函式,如果啟動和啟動到輸入地方的窗體名是一樣的,那麼就查詢該窗體上的子類控制元件名就可以了!這樣做的好處是完全根據情況來決定什麼時候輸入,不會存在錯誤的情況!

VB中label顯示怎麼換行,在VB中怎麼怎麼設定label自動換行

有兩種方法實現label換行 1 將label控制元件的可以調整控制元件label的寬度和高度,即可實現自動換行 2 控制換行。例如 private sub form load with label1 caption 12 vbcrlf 345 vbcrlf 6789 end with end su...

vb問本框中顯示的是當前的時間,而且每一秒文字框中所顯示的時間都會隨時間的變化而改變

放一定時器控制元件 private sub timer1 timer timer1.enabled truetimer1.interval 100text1.text time end sub 新增一個定時器timer1 把屬性interval的值設定為1000 新增以下 private sub t...

VB6 0的窗體中,如何顯示不同內容

1全部不知道你註解是什麼用意。不過兩個都說一下,如果你不想新增form。你就建立frame組將所想要切換的所有控制元件全放在相應的每一個frame1陣列控制元件裡。然後,不管你有多少個控制元件。你都不需要對那控制元件單個操控。你只用通過用迴圈來控制frame1陣列的visible屬性來統一管理,或者...