注册 登录
编程论坛 VFP论坛

VFP模拟按键的代码一经编译就不好使了,谁知道如何解决?

jlliushi 发布于 2022-01-06 06:24, 1577 次点击
VFP模拟按键的代码一经编译就不好使了,谁知道如何解决?
    DECLARE Long keybd_event IN user32 long,long,long,long
    keybd_event(0x11, 0, 0, 0)
    keybd_event(0x5B, 0, 0, 0)
    keybd_event(0x5B, 0, 2, 0)
    keybd_event(0x11, 0, 2, 0)
以上代码在未编译前能够模拟按下Ctrl+Win实现切换语音键入的聆听和关闭模式,
但一经编译后就不好使了(Win7和Win11都不好使)。

只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2022-1-6 06:26编辑过]

9 回复
#2
吹水佬2022-01-06 16:01
测试不了,能模拟测试吗
#3
jlliushi2022-01-07 06:48
回复 2楼 吹水佬
测试了,不好使。模拟什么按键编译后都不好使!怎么解决呢?
#4
吹水佬2022-01-07 06:53
说的是我测试不了
或者你给个简单的项目示例文件,能编译运行就可以。
#5
kangss2022-01-07 11:05
回复 楼主 jlliushi
可能是键盘消息是:顶层窗口获取接收键盘消息
楼主贴图的是一个应用软件吗?如果是,先查找它的窗口句柄,先api置顶后,再发出虚拟键盘消息试试
#6
jlliushi2022-01-09 09:38
回复 5楼 kangss
窗口置顶后,未编译都不好使了!
#7
jlliushi2022-01-09 09:45
回复 4楼 吹水佬
FUNCTION Keybd2(vk1, vk2)
    keybd_event(vk1, 0, 0, 0)
    keybd_event(vk2, 0, 0, 0)
    keybd_event(vk2, 0, KEYEVENTF_KEYUP, 0)
    keybd_event(vk1, 0, KEYEVENTF_KEYUP, 0)
ENDFUNC
就是你做的这个自定义函数一经编译就不好使了!
#8
吹水佬2022-01-09 11:09
回复 7楼 jlliushi
不是说编译后不行吗?
给用来编译的相关文件,不用实际的文件,随便写个简单的可编译运行的示例文件就可以。
有时用文字说不清楚,给代码测试就好了。
#9
jlliushi2022-01-10 06:42
回复 8楼 吹水佬
对不起,吹版主。原来是“360安全卫士”把编译后“模拟按键”的代码当成病毒拦截了!
关掉杀毒软件就好使了!再次感谢吹版主不厌其烦的指导,谢谢!
#10
laowan0012022-01-10 08:09
360我只是偶尔用下软件管家的卸载,而且是用的时候安装,用完就卸了。只要用了360,浏览器也好,安全卫士也罢,广告弹窗很是烦人
1