關於VB快捷輸入(高分求助)

2025-01-24 18:55:22 字數 4486 閱讀 1338

1樓:網友

private declare function getasynckeystate lib "user32" (byval vkey as long) as integer

private sub timer1_timer()

if getasynckeystate(vbkeyf10) then

end if

end sub

getasynckeystate 是檢測目前鍵盤動態,可以用timer控制項檢測,比如設計100毫秒一次的檢測,如果檢測到按f10了的話,text中就輸入123

這個僅僅是乙個小模組,用api函式支援,你可以修改後來完善自己的程式。

getasynckeystate 的用法,關於檢測值,如果是0的話就是沒有按,非0的話就是按了,你可以在getasynckeystate ()後追加 and or not 等來設定組合鍵。

也可以通過檢測得到的資料儲存到txt檔案中,用open fiel for output as #1來設定,完成如同鍵盤記錄的小軟體。可以記錄鍵盤事件。

2樓:網友

1、你必須先獲取另個程式目標控制項的控制代碼,這裡假設存放控制代碼的變數為hwd。

2、在窗體上建立timer1控制項,innerval=100

3、關鍵**如下:

宣告部分。private declare function getasynckeystate lib "user32" (byval vkey as long) as integer

private declare function sendmessagebynum lib "user32" alias "sendmessagea" (byval hwnd as long, byval wmsg as long, byval wparam as long, byval lparam as long) as long

private declare function sendmessagebystring lib "user32" alias "sendmessagea" (byval hwnd as long, byval wmsg as long, byval wparam as long, byval lparam as string) as long

private const em_linelength = hc1

private const em_replacesel = hc2

private const em_setsel = hb1

dim hwd as long

timer1**。

private sub timer1_timer()

if getasynckeystate(vbkeyf10) then

dim k as long, aclass as string

if hwd = 0 then exit sub

aclass = getwinclass(hwd)

k = sendmessage(hwd, em_linelength, 1, 0) '取得文字寬度。

sendmessagebynum hwd, em_setsel, 0, k '選中文字。

sendmessagebystring hwd, em_replacesel, 1, '傳遞文字。

end if

end sub

3樓:網友

想要vb在後臺執行,不太方便太麻煩了,就算能用也不爽 建議改學vc等,用全域性函式。

vb如何按乙個快捷鍵就輸入乙個句子

4樓:網友

private sub form_keyup(keycode as integer, shift as integer)

if keycode = vbkeyi and shift = 2 then = 123" 'ctrl和i被按下。

end sub

private sub form_load()= true '窗體先接收鍵盤事件,然後是活動控制項接收事件。

end sub

vb 模擬輸入數字 和 按鈕快捷鍵

5樓:網友

你還是按鍵精靈吧 用什麼vb 自己費時費事嘛。

如何vb 製作幾個按鈕 可以快捷輸入指定文字?

6樓:網友

我暈,這個建議別用vb做,浪費時間。建議如下。

開啟word,鍵入你想要得字元(比方說:「xx公司歡迎您的來電」),選定這些字元,按鍵alt+f3,出現「建立『自**文集』」對話方塊,單擊「確定」。然後在任何乙個工具欄上按右鍵,單擊長長的選單最下面的「自定義」,在左邊的「類別」中選擇「自**文集」,在右邊找到你剛剛建立的詞條(xx公司歡迎您的來電),把它拖動到工具欄上,成為乙個按鈕。

這時單擊關閉,你會發現這個詞條已經成為乙個按鈕,每次使用時,單擊即可。

這個方法方便又快捷。建議採納。

7樓:波鑲露

我的方法最簡單。

首先,把你要輸入的內容複製到剪下版,好像是 吧,記不太清了。 然後把word 或 寫字版設定成當前視窗,就是先用getwindows(記不太清了) 得到 寫字版的 hwnd ,然後用setwindowpos設定成當前視窗,然後用模擬按鍵ctrl+v就ok了。

8樓:庸手

也十分想知道怎麼做。

佔位,等待達人ing~~~

高分求助:vb 全域性熱鍵 快捷鍵

9樓:網友

function getkey() as stringdim addkey as string

keyresult = getasynckeystate(32) '回車鍵。

if keyresult = -32767 thenaddkey = "[enter]"

goto keyfound

end if

keyfound

顯示鍵的資訊。

if addkey = "" then

exit function

elsegetkey = addkey

--end if

end function

private sub timer1_timer() '顯示按鍵static a as string

a = getkey

if a <>"" then = a

end sub

10樓:網友

是100分麼?

你hi我,我給你發。

你要3個,4個的都沒問題。

vb設定快捷鍵

11樓:網友

最簡單的方法是按ctrl+e開啟選單器,然後設定個選單項為退出什麼的,設定其快捷鍵為ctrl+d,勾選掉「可見」屬性(如果是「不可見」屬性請勾上)。然後執行就可以了。

還有的方法:(**)

方法①:private sub form_keydown(keycode as integer, shift as integer)

trueif keycode = vbkeyd and shift = 2 then end

end sub

方法②:private sub form_keyup(keycode as integer, shift as integer)

trueif keycode = vbkeyd and shift = 2 then end

end sub

方法③:private sub form_keypress(keyascii as integer)

if keyascii = 4 then end

end sub

方法①②③的靈敏度不一樣,③裡面的keyascii=4是ctrl+d的ascii值,是測試出來的。

至於ascii值測試**,只要將方法③的語句換為msgbox keyascii就行了。

12樓:網友

按鈕屬性裡面可以設定快捷鍵,或者自己捕捉keydown事件。

vb中結束的快捷鍵

13樓:網友

你是說vb的ide中除錯模式下,中止程式的執行?

很抱歉,貌似沒有特殊的快捷鍵。除非中止vb(通過呼叫程序管理器,即按下ctrl alt del三個鍵)可以實現此功能,但vb程式不會儲存,因此要在隨時儲存。

vb 快捷鍵

14樓:網友

f1到f12的**:

vbkeyf1,vbkeyf2,vbkeyf3...於此類推。。。

private sub form_keydown(keycode as integer, shift as integer)

if keycode=vbkeyf1 then'**else

**end if

end sub

求助VB高手 急哦高分懸賞

第一題 建立一個text1,dim r as single dim s 8 as integer private sub form load form1.autoredraw true text1.text 578.62 form1.width 11000 text1.top 1000 end su...

關於VB製作小查詢程式問題,高分懸賞

現在vb的話一般用ado連線資料的比較多,可以用控制項adodc直接生成連線資料的語句,最好把最後連線的機器的名稱改成ip。.在資料庫中建立hm和hm兩個表,注意你建立資料表的時候各列名稱設定好。中觸發時間是list的click時間,然後檢測是否收到asc碼 即回車符 檢測到後往下執行。.對輸入的字元...

高分求助關於學習的問題

如何培養中學生的自制力 自制力就是自我剋制的能力。人的剋制能力的優劣能夠決定人的心理品位 健康狀況 智慧的發揮程度。人的自制力雖然帶有先天性,但後天的影響 教育 自身修養更為重要。自制力的培養跟其他能力的培養一樣,應該是越早越好。自制力的培養可通過疏導 誘導 練習 強化等四個環節進行,它們是不可分割...