回 帖 发 新 帖 刷新版面

主题:求助: VB 几条命令转 VF 命令...

Declare Sub keybd_event Lib "user32 " (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Public Const KBC_KEY_CMD = &H64     '键盘命令端口
Public Const KBC_KEY_DATA = &H60    '键盘数据端口
Public Const VK_A = &H41


keybd_event VK_A, 0, 0, 0


这是几条VB命令,模拟键盘敲击,能转VF吗?

回复列表 (共4个回复)

沙发

Declare keybd_event IN user32 String, Integer,Integer,Integer
Declare Sleep In kernel32 Integer dwMilliseconds && "Sleep"是分大小写的,如果写成“sleep”,会出现找不到入口错误


PUBLIC KBC_KEY_CMD 
PUBLIC KBC_KEY_DATA 
KBC_KEY_CMD = '&H64'
KBC_KEY_DATA = '&H60'


PUBLIC VK_A
VK_A='&H41'



Sleep(4000)
keybd_event(VK_A, 0, 0, 0)
Sleep(100)
keybd_event(VK_A, 0, 2, 0)

以上代码,在“sleep(4000)”时切换到记事本界面,有时能按出个“8”字,有时不行,有时又出现“x”,不恒定,按照在VB里,应该输出“a”才对,不解......

板凳

成功了!原来h是16进制,第一个参数用Integer,写成65就成功了!!!

3 楼

?0x41   &&  &H41

4 楼

vb 的h41就是 hex 16进制的缩写,vfp 写成 0x   

我来回复

您尚未登录,请登录后再回复。点此登录或注册