按鍵精靈教程:將包含郵箱字符串拆分成單個(gè)字符的輸出
在某些情況下,`sayString`命令對(duì)某些輸入框不起作用,可以考慮將要輸入的字符串拆分成最基本的按鍵命令進(jìn)行輸入。下面演示如何拆分輸入郵箱字符串: 編寫(xiě)Sub函數(shù)塊和設(shè)置超級(jí)模擬模式為了拆分郵箱字
在某些情況下,`sayString`命令對(duì)某些輸入框不起作用,可以考慮將要輸入的字符串拆分成最基本的按鍵命令進(jìn)行輸入。下面演示如何拆分輸入郵箱字符串:
編寫(xiě)Sub函數(shù)塊和設(shè)置超級(jí)模擬模式
為了拆分郵箱字符串,請(qǐng)首先編寫(xiě)一個(gè)Sub函數(shù)塊。然后,將模擬模式設(shè)置為超級(jí)模擬,這可以幫助突破某些按鍵屏蔽。接著,獲取焦點(diǎn)句柄以確定當(dāng)前鼠標(biāo)所在輸入框的句柄。
設(shè)置輸入方法和處理字符
在進(jìn)一步操作之前,需要設(shè)置句柄處的輸入方法為系統(tǒng)默認(rèn)的美式鍵盤(pán),以防止輸入字母時(shí)被中文輸入法攔截。定義變量i和t,其中i表示是第幾個(gè)字符,t代表該字符的asc碼值。
循環(huán)拆解字符串并模擬輸入
通過(guò)for循環(huán)逐個(gè)拆解字符串,并利用Asc函數(shù)獲取字符的asc碼值。判斷asc碼值是否等于64,若是@字符的碼值,則使用alt 2鍵的命令來(lái)模擬輸入@字符,并結(jié)束本次循環(huán)。對(duì)于只包含數(shù)字和字母的郵箱,在除@字符外的其他字符直接用按鍵命令模擬輸入即可。
完整代碼示例
```vb
Sub send_mail(mail)
' 設(shè)置模擬模式為超級(jí)模擬
SetSimMode 2
' 獲取焦點(diǎn)句柄
Hwnd ()
' 設(shè)置為默認(rèn)鍵盤(pán)
Call (Hwnd, "中文(簡(jiǎn)體) - 美式鍵盤(pán)")
' i為第幾個(gè)字符,t為該字符的asc碼值
Dim i, t
For i 1 To Len(mail)
t Asc(Mid(mail, i, 1))
If t 64 Then
' alt 2,輸入@
KeyDown 16, 1
KeyPress 50, 1
KeyUp 16, 1
' 結(jié)束本次循環(huán)
Goto mark1
End If
KeyPress Mid(mail, i, 1), 1
Rem mark1
Next
End Sub
```
以上是將包含郵箱字符串拆分成單個(gè)字符的輸出的詳細(xì)操作步驟和代碼示例。通過(guò)這種方式,你可以更靈活地處理特定輸入框無(wú)法正常輸入的情況,提高工作效率。