注册 登录
编程论坛 VFP论坛

请教 : 如何将整个WIN10系统的F1 设为 CTRL+ALt+a 热键

liunis 发布于 2023-06-18 09:50, 1008 次点击
在VFP 可以用 on key 将F1 设为 CTRL+ALt+a 热键,但是焦点不在VFP,在其它地方时,F1就是别的功能,不起作用了
10 回复
#2
吹水佬2023-06-18 10:50
如果 CTRL+ALt+a 是全局热键,问题就是:用VFP代码执行CTRL+ALt+a
#3
sam_jiang2023-06-18 11:33
好像要注册系统热键,百度一下代码屏蔽老板键,应该有一大堆代码。。。

参考这篇文章: https://

[此贴子已经被作者于2023-6-18 12:25编辑过]

#4
liunis2023-06-18 14:50
目的是要更改全局(win10)不是VFP下的全局。即VFP与win10的 热键一致。这么复杂。。
#5
foxfans2023-06-18 17:24
下个勾子应该可行,在win7环境测试,win10尚未测试,需要注意的是ctrl+alt+a好像是qq截图热键.
只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2023-6-18 17:27编辑过]

#6
liunis2023-06-18 19:56
回复 5楼 foxfans
谢谢是可以的,如果是win+shift+S的组合要如何修改呢。
#7
foxfans2023-06-19 07:20
回复 6楼 liunis
win +shift + s 是win10上的,我当前没有测试环境.大概就是win10上的截图功能吧,使用前自己判断系统版本号win7时hook(0) win10之后hook(1). 如果是hook(1)在win7版本,呼不出截图功能,而会打出大写的S.
只有本站会员才能查看附件,请 登录

Declare long GetVersionEx IN "kernel32" string @
tmpStr=BINTOC(148,'4rs')+REPLICATE(0h00,4*4+128)
IF 1==GetVersionEx(@tmpStr)
    ?CTOBIN(SUBSTR(tmpStr,5,4),'4rs')
    ?CTOBIN(SUBSTR(tmpStr,9,4),'4rs')
    ?CTOBIN(SUBSTR(tmpStr,13,4),'4rs')
    ?CTOBIN(SUBSTR(tmpStr,17,4),'4rs')
    ?STRTRAN(SUBSTR(tmpStr,21,128),0h00,[])
ENDIF

[此贴子已经被作者于2023-6-19 09:42编辑过]

#8
吹水佬2023-06-19 07:47
注册一个全局热键应该就可以,在其它地方也会触发这个VFP应用定义的热键功能。
当然,这个全局热键的ID不要与其他应用的全局热键ID有冲突,否则会影响系统应用的正常动作。
#9
liunis2023-06-19 14:34
回复 7楼 foxfans
谢谢。可以暂时解决问题。
#10
kmyz_yyl2023-09-13 22:32
回复 8楼 吹水佬
借楼主帖子,我也有个定义全局热键的问题:我做了一个模拟鼠标和键盘操作的程序,当鼠标(焦点)在别的系统窗口执行时在VFP预先设定的热键就不起作用了,请问您说的全局热键怎么定义,能否给一下代码,谢谢!
#11
easyppt2023-09-14 09:35
大神们,能帮忙解释一下,语句的含义吗
不会C++,有些看不懂,总不能没换一个热键 都要发帖吧?
能解释一下 各种热键的定义方法吗,光给代码看不懂。
比如:

CTRL+组合
ALT+组合
功能键 。。。
1