【AHK】通过postmessage打开设置/打开浏览器拓展/浏览器参数

需求:通过AHK的postmessage打开浏览器的设置、浏览器的拓展列表,无意间忘了在哪里看到了通过PostMessage, 274, 40022方式打开拓展,但是又没注释,痛苦的一批,找了win32窗体API,又找了AHKPostMessage的定义,发现都不是,知识盲区不是一般的大。

AHK通过postmessage设置

先上答案

^!r::
PostMessage, 274, 40022
return

^!s::
PostMessage, 274, 40030
return
;个人理解 40030也是窗体,274也是大方向窗体指确定程序。
;也就是我找到一个工具能个把窗体的代码映射出来即可,应该不是搜postmessage的控件代码。
;↑↑ 上面的推断都是错的!最后发现都是chrome特定设置的,和win32没关系!!

;是怎么找到这个问题的解决办法呢?直接搜40030+edge没用,窗体/控件编号,也没用!
;找到它的变量名 IDC_MANAGE_EXTENSIONS 直接google了,然后就比对编号,还真是! 


由此还能写出打开历史、打开下载页面等等。

搜索274的解释

  • WM_SYSCOMMAND 消息是MFC预定义好的一组命令消息,框架有默认的处理方式,比如点击窗口右上方的关闭按钮,发送SC_CLOSE消息,用以关闭窗口。
  • WM_SYSCOMMAND=274 是一个消息常量,需要配合指定系统命令才会产生作用。
W=Window 窗口
M=Msg 消息
SYS COMMAND=系统指令
	
	SendMessage (取窗口句柄 (), #WM_SYSCOMMAND, #SC_CLOSE, 0) '关闭窗口
	#SC_CLOSE=61536

AHK PostMessage

  • AHK的PostMessage的定义
PostMessage, Msg , wParam, lParam, ...

	Msg:要发送的消息号, 可以为表达式. 请参阅消息列表来确定编号.
	
	wParam:消息的第一个组件, 可以为表达式.  默认 0.
	
	lParam:消息的第二个组件, 可以为表达式. 默认 0.
	
	...
  • 官方例子: 启动用户选择的屏幕保护程序
SendMessage, 0x0112, 0xF140, 0,, Program Manager  
; 0x0112 是 WM_SYSCOMMAND,0xF140 是 SC_SCREENSAVE.

小结

  • 知识库不够,真的是学不完,也折腾不完的。
  • 基本功能其实也够用了,那些过于专业的功能,业余的折腾起来太费时间了,都本末倒置了。

参考

代码来源

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值