一部環境では、バーチャルコード(スキャンコード)変換しないと、仮想キーのみでは入力できない事があるのではないでしょうか?
当方 Windows Vista Home Basic (32BIT)環境で、keybd_event のみで、入力させようとしたら、すべてのキーが無反応になりました。
一応モジュールを書いておきます。
#module Keybd_events
#uselib "user32.dll"
#func keybd_event "keybd_event" int,int,int,int
#cfunc MapVirtualKey "MapVirtualKeyA" int,int
;########################################################
; キーボード仮想入力イベント
;
; keybd_send prm1,prm2
;
; prm1 = キーボードの仮想キーコードを指定
; prm2 = 押し上げ判定 ( 0 なら、押した状態 : 1 なら、上げた状態 )
;########################################################
#deffunc keybd_send int prm1,int prm2
kb_vir=MapVirtualKey(prm1,0)
if prm2=0 : keybd_event prm1,kb_vir,2,0 : await 0 ;反応しない場合、wait を長くしてね。
if prm2=1 : keybd_event prm1,kb_vir,0,0 : await 0
return
#global