vb.net按鍵精靈 按鍵精靈和vb的關(guān)系

如何用VB制作按鍵精靈F1~F12

F1-F12的keyCode分別為112-123 用VBS的Sendkeys方法

創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站營銷推廣,申請域名,雅安服務(wù)器托管,網(wǎng)站托管、服務(wù)器租用有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請聯(lián)系創(chuàng)新互聯(lián)公司。

set WshShell = CreateObject("WScript.Shell")

WshShell.SendKeys "{F1}"

WshShell.SendKeys "{F2}"

WshShell.SendKeys "{F3}"

WshShell.SendKeys "{F4}"

WshShell.SendKeys "{F5}"

WshShell.SendKeys "{F6}"

WshShell.SendKeys "{F7}"

WshShell.SendKeys "{F8}"

WshShell.SendKeys "{F9}"

WshShell.SendKeys "{F10}"

WshShell.SendKeys "{F11}"

WshShell.SendKeys "{F12}"

SendKeys 方法

請參閱

WshShell 對象 | Run 方法

將一個(gè)或多個(gè)鍵擊發(fā)送到活動(dòng)窗口(仿佛是在鍵盤上擊鍵一樣)。

object.SendKeys(string)

參數(shù)

object

WshShell 對象。

string

表示要發(fā)送的鍵擊(一個(gè)或多個(gè))的字符串值。

說明

使用 SendKeys 方法可以將鍵擊發(fā)送到無自動(dòng)化界面的應(yīng)用程序中。多數(shù)鍵盤字符都可用一個(gè)鍵擊表示。某些鍵盤字符由多個(gè)鍵擊組合而成(例如,CTRL+SHIFT+HOME)。要發(fā)送單個(gè)鍵盤字符,請將字符本身作為 string 參數(shù)發(fā)送。例如,要發(fā)送字母 x,則請發(fā)送 string 參數(shù) "x"。

注意 要發(fā)送空格,則請發(fā)送字符串 " "。

可使用 SendKeys 同時(shí)發(fā)送多個(gè)鍵擊。為此,可將每個(gè)鍵擊按順序排列在一起,以此來創(chuàng)建表示一系列鍵擊的復(fù)合字符串參數(shù)。例如,要發(fā)送鍵擊 a、b 和 c,則需要發(fā)送字符串參數(shù) "abc"。SendKeys 方法將某些字符用作字符的修飾符(而不使用其本身的含義)。這組特殊的字符可包括圓括號、中括號、大括號,以及:

加號 "+"、

插入記號 "^"、

百分號 "%"、

和“非”符號 "~"。

用大括號 "{}" 括起這些字符可以發(fā)送它們。例如,要發(fā)送加號,請使用字符串參數(shù) "{+}"。SendKeys中使用的中括號 "[ ]" 無任何特殊含義,但是必須把它們括在大括號中,以便容納確實(shí)要賦予其特殊含義的應(yīng)用程序(例如,對于動(dòng)態(tài)數(shù)據(jù)交換 (DDE) 就是這樣)。

要發(fā)送左中括號字符,請發(fā)送字符串參數(shù) "{[]";要發(fā)送右中括號字符,請發(fā)送字符串參數(shù) "{]}"。

要發(fā)送左大括號字符,請發(fā)送字符串參數(shù) "{{}";要發(fā)送右大括號字符,請發(fā)送字符串參數(shù) "{}}"。

某些鍵擊不生成字符(如 ENTER 和 TAB)。某些鍵擊表示操作(如 BACKSPACE 和 BREAK)。要發(fā)送這些類型的鍵擊,請發(fā)送下表中列出的參數(shù):

鍵 參數(shù)

退格鍵 {BACKSPACE}、{BS} 或 {BKSP}

BREAK {BREAK}

CAPS LOCK {CAPSLOCK}

DEL 或 DELETE {DELETE} 或 {DEL}

向下鍵 {DOWN}

END {END}

ENTER {ENTER} 或 ~

ESC {ESC}

HELP {HELP}

HOME {HOME}

INS 或 INSERT {INSERT} 或 {INS}

向左鍵 {LEFT}

NUM LOCK {NUMLOCK}

PAGE DOWN {PGDN}

PAGE UP {PGUP}

PRINT SCREEN {PRTSC}

向右鍵 {RIGHT}

SCROLL LOCK {SCROLLLOCK}

TAB {TAB}

向上鍵 {UP}

F1 {F1}

F2 {F2}

F3 {F3}

F4 {F4}

F5 {F5}

F6 {F6}

F7 {F7}

F8 {F8}

F9 {F9}

F10 {F10}

F11 {F11}

F12 {F12}

F13 {F13}

F14 {F14}

F15 {F15}

F16 {F16}

要發(fā)送由常規(guī)鍵擊和 SHIFT、CTRL 或 ALT 組合而成的鍵盤字符,請創(chuàng)建表示該鍵擊組合的復(fù)合字符串參數(shù)。可通過在常規(guī)鍵擊之前添加一個(gè)或多個(gè)以下特殊字符來完成上述操作:

鍵 特殊字符

SHIFT +

CTRL ^

ALT %

注意 這樣使用時(shí),不用大括號括起這些特殊字符。

要指定在按下多個(gè)其他鍵時(shí),按下 SHIFT、CTRL 和 ALT 的組合,請創(chuàng)建復(fù)合字符串參數(shù),用括號括起其中的組合鍵。例如,要發(fā)送的組合鍵指定:

如果在按 e 和 c 的同時(shí)按 SHIFT 鍵,則發(fā)送字符串參數(shù) "+(ec)"。

如果在按 e 時(shí)只按 c(而不按 SHIFT),則發(fā)送字符串參數(shù) "+ec"。

可使用 SendKeys 方法發(fā)送一種在一行內(nèi)重復(fù)按鍵的鍵擊。為此,要?jiǎng)?chuàng)建復(fù)合字符串參數(shù),以指定要重復(fù)的鍵擊,并在其后指定重復(fù)次數(shù)??墒褂?{鍵擊 數(shù)字} 形式的復(fù)合字符串參數(shù)來完成上述操作。例如,如果要發(fā)送 10 次 "x",則需要發(fā)送字符串參數(shù) "{x 10}"。請確保在鍵擊和數(shù)字之間有一個(gè)空格。

注意 只可以發(fā)送重復(fù)按一個(gè)鍵的鍵擊。例如,可以發(fā)送 10 次 "x",但不可發(fā)送 10 次 "Ctrl+x"。

注意 不能向應(yīng)用程序發(fā)送 PRINT SCREEN 鍵 {PRTSC}。

示例

下面的示例演示如何將一個(gè) .wsf 文件用于以不同腳本語言(VBScript 和 Jscript)寫成的兩個(gè)作業(yè)。每個(gè)作業(yè)都運(yùn)行 Windows 計(jì)算器并將它發(fā)送給鍵擊以執(zhí)行簡單的計(jì)算。

package

job id="vbs"

script language="VBScript"

set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run "calc"

WScript.Sleep 100

WshShell.AppActivate "Calculator"

WScript.Sleep 100

WshShell.SendKeys "1{+}"

WScript.Sleep 500

WshShell.SendKeys "2"

WScript.Sleep 500

WshShell.SendKeys "~"

WScript.Sleep 500

WshShell.SendKeys "*3"

WScript.Sleep 500

WshShell.SendKeys "~"

WScript.Sleep 2500

/script

/job

job id="js"

script language="JScript"

var WshShell = WScript.CreateObject("WScript.Shell");

WshShell.Run("calc");

WScript.Sleep(100);

WshShell.AppActivate("Calculator");

WScript.Sleep(100);

WshShell.SendKeys ("1{+}");

WScript.Sleep(500);

WshShell.SendKeys("2");

WScript.Sleep(500);

WshShell.SendKeys("~");

WScript.Sleep(500);

WshShell.SendKeys("*3");

WScript.Sleep(500);

WshShell.SendKeys("~");

WScript.Sleep(2500);

/script

/job

/package

如何在VB.net中用程序控制鼠標(biāo)移動(dòng)和點(diǎn)擊

調(diào)用api

在Visual Baisc.net中的聲明:

Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

Public Const MOUSEEVENTF_LEFTDOWN = H2 '模擬鼠標(biāo)左鍵按下

Public Const MOUSEEVENTF_LEFTUP = H4 ’模擬鼠標(biāo)左鍵釋放

Public Const MOUSEEVENTF_MIDDLEDOWN = H20 '模擬鼠標(biāo)中間鍵按下

Public Const MOUSEEVENTF_MIDDLEUP = H40 '模擬鼠標(biāo)中間鍵釋放

Public Const MOUSEEVENTF_RIGHTDOWN = H8 '模擬鼠標(biāo)右鍵按下

Public Const MOUSEEVENTF_RIGHTUP = H10 '模擬鼠標(biāo)右鍵釋放

Public Const MOUSEEVENTF_MOVE = H1 '模擬鼠標(biāo)指針移動(dòng)

例:

mouse_event MOUSEEVENTF_LEFTDOWN,10,10,0,0

'在(10,10)模擬鼠標(biāo)左鍵按下

vb.net怎么無限循環(huán)模擬按鍵

要求不多的話,完全可以用按鍵精靈的,你用vb.net去實(shí)現(xiàn)的話,反而啰嗦了。。。

VB編寫的按鍵精靈

DoEvents這個(gè)命令,用起來不是很好...

你可以增加一個(gè)Boolean型的變量B(你已經(jīng)用到了Switch,那你就把我下面的代碼中的B改為Switch吧),在TIMER控件循環(huán)執(zhí)行時(shí)每次都去判斷變量B是否為True,如果是就運(yùn)行,否則跳出循環(huán)或者其他,添加一個(gè)控件(或者代碼)添加代碼B= Not B,用于中斷/繼續(xù)TIMER控件循環(huán)執(zhí)行...

如果要達(dá)到繼續(xù)TIMER控件循環(huán)執(zhí)行,這個(gè)有點(diǎn)難,有兩種解決方法:

1.

For i = 1 To p

Do Until B

DoEvents

Loop

...

這個(gè)方法,在Do循環(huán)時(shí),CPU使用比較高,而且有不太順的感覺...

2.

使用靜態(tài)變量i

Private Sub Timer1_Timer()

Static i As Integer

If Not B then

Timer1.InterVal=500 '用于快速判斷是否可以繼續(xù)執(zhí)行

Exit Sub

Else

Timer1.Interval= '設(shè)置回原值

End If

Dim p As Byte, Text As String

p = Val(SendMessage(Text2.hWnd, EM_GETLINECOUNT, 0, 0))

Do Until i=p

i=i+1

TB1_GetLine Text2.hWnd, i - 1, Text

PublicRun Text

If Not B then

Timer1.InterVal=500 '用于快速判斷是否可以繼續(xù)執(zhí)行

Exit Sub

End If

Loop

If Check1.Value = 0 Then Timer1.Interval = 0

End Sub

大概思路就是這樣,你試試...

如果能實(shí)現(xiàn),還請你跟大家分享下...O(∩_∩)O~...

本文名稱:vb.net按鍵精靈 按鍵精靈和vb的關(guān)系
分享URL:http://muchs.cn/article18/hgsodp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站營銷、網(wǎng)站設(shè)計(jì)網(wǎng)站維護(hù)、建站公司、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)