keybd_eventについて


VBひよっこ  2006-07-27 20:47:18  No: 132497

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  離す命令)

のようなことがやりたいのですが。
よろしくご指導お願いします。


VBひよっこ  2006-07-27 20:49:07  No: 132498

環境:VB6.0 Windows XPです。


※作成する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。







   このエントリーをはてなブックマークに追加