环境:windows
前言
笔记本的Fn键失灵了,虽然电脑自带了Fn与Ctrl键切换的功能,但为了使用Fn而牺牲左边的Ctrl键,简直不可接受。Fn提供的功能也是我适应白天和晚上不能缺少的功能。
友们说这种情况可能拆下键盘,清理下金手指就好了,但一来麻烦,二来不一定能好。
实现
要替代Fn的组合键,就要设置快捷键,而windows下设置快捷键最方便的工具莫过于autohotkey了。而且可以发送按键,直接发送Fn+F5不就可以调整亮度了吗,so easy! 分分钟搞定!
然而,现实很残酷!Fn的按键没有相应的编码且抓取不到!且各硬件厂家的实现不一p>
好吧,换个思路整屏幕亮度就成!找到可使用wmi来调整屏幕亮度,powershell的代码如下:
vbscript的代码如下:
转化为Autohotkey后的代码如下:
完整的Autohotkey代码如下:
参考资料:
1. https://docs.microsoft.com/zh-cn/windows/desktop/WmiSdk/calling-a-method 告诉了我在autohotkey中可以使用
“
“来调用WmiSetBtightness()的函数,此前使用别的方式调用,返回了错误信息0x8004102F
2. http://www.yfvb.com/help/wmi/index.htmge=wmi_error_constants.htm wmi编程手册,中文版,可以先学习下基础知识
3. https://docs.microsoft.com/zh-cn/windows/desktop/WmiSdk/swbemservicesex-put 对工具的帮助不是很大,但有个印象
4. https://docs.microsoft.com/zh-cn/windows/desktop/WmiSdk/creating-a-wmi-script 基础知识,了解了解
5.https://docs.microsoft.com/zh-cn/windows/desktop/WmiSdk/swbemobject 基础知识,了解了解
7.https://www.jianshu.com/p/41206522387b 对本工具的帮助也非常大,之前只找到了powershell版本的可用代码,在autohotkey中调用powershell,来实现功能,可实际证明,这样太慢了,实在不好用,学习了这个以后直接在脚本中调用wmi,速度快多了。也就是目前可用的版本了
延伸思考
-
wmi可以监听进程的创建、退出消息。这个可以做启动客户端后,自动启动后台服务、停止服务的功能,而优化电脑的性能
-
autohotkey可以根据窗口的标题来执行动作,那么可以去掉win7桌面的删除文件时的确认窗口
文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览114986 人正在系统学习中 相关资源:Wikka高速可伸缩性软件v1.3.1-其它代码类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!