keybd_eventを利用して他アプリへキー入力したいとがんばっています。
ネットで調べて見よう見まねで入力できるようにはなりましたが、
次のサンプルでSAMPLE1〜SAMPLE4まで全て結果は同じように見えます。
Private Declare Sub keybd_event Lib "user32.dll" _
(ByVal bVk As Byte, ByVal bScan As Byte, _
ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_EXTENDEDKEY = &H1
Private Const KEYEVENTF_KEYUP = &H2
'SAMPLE1
Private Sub Command1_Click()
Me.Text1.SetFocus
Call keybd_event(vbKeyA, 0, 0, 0)
End Sub
'SAMPL2
Private Sub Command2_Click()
Me.Text1.SetFocus
Call keybd_event(vbKeyA, 0, KEYEVENTF_EXTENDEDKEY, 0)
End Sub
'SAMPLE3
Private Sub Command3_Click()
Me.Text1.SetFocus
Call keybd_event(vbKeyA, 0, 0, 0)
Call keybd_event(vbKeyA, 0, KEYEVENTF_KEYUP, 0)
End Sub
'SAMPLE4
Private Sub Command4_Click()
Me.Text1.SetFocus
Call keybd_event(vbKeyA, 0, KEYEVENTF_EXTENDEDKEY, 0)
Call keybd_event(vbKeyA, 0, KEYEVENTF_KEYUP, 0)
End Sub
やりたいことは"a"のキーを一定時間押し続けている状態から、
一定時間経過したら"a"のキーを離すということがやりたいの
ですが。
Call keybd_event(vbKeyA 押し続け命令)
Start_Time = Timer
do until Keika > 5
Keika = Timer - Start_Time
loop
Call keybd_event(vbKeyA 離す命令)
のようなことがやりたいのですが。
よろしくご指導お願いします。
環境:VB6.0 Windows XPです。
| ツイート |
|