• 2024-06-20[AHK2] 借助vlc设置桌面动态背景
    概述网上可以找到许多设置桌面动态背景的c++代码,我们将它用ahk实现即可。我已经使用了很长一段时间,体验十分不错,所以推荐给大家。完整脚本请看最后一节。发送消息SendMsgToProgman(){DllCall('SendMessageTimeout','ptr',WinGetID('ahk_classProgman'),'
  • 2024-05-18[AHK2] 配置文件
    开始通常在AHK中使用配置文件是通过内置的INI函数,也可以使用json或yaml,已有外部ahk脚本可以操作它们。但这些文件在ahk场景实际使用上都不怎么方便。于是我计划设计一种简洁的配置文件语法,可以在轻量级场景下替代这些常用的文件。其中最重要的一点是简单,以至于可以轻松的在记
  • 2024-03-25[AHK2] 菜单,用于便捷的获取文件的路径
    开始在使用文件管理器中,我们经常要用到的一个需求就是获取一个文件的全路径,那么需要右键,安全,滑动复制。太麻烦了!如果可以用ahk便利的获取到路径就好了!所以有了下面的脚本:中键显示菜单。代码#IncludeG:\AHK\gitee_ahk2\common\Tip.ahk#IncludeG:\AHK\gitee_ahk2\common\Th
  • 2024-03-25[AHK2 ui] 轻松设置主题
    开始在写ui工具的时候,常常会设置控件的背景或字体颜色;通常的做法是在options参数中使用backgroundRedcblack而如果想使用变量就会出现麻烦的字符串拼接,像这样:this.AddText('background'bgc'c'fc)在控件很多的时候便会像这样(我曾经写的ui):为了解决这种复杂性,有了下面的
  • 2024-03-25[AHK2] 不用结束符的热字串
    开始通常,我们使用热字串是这样的:::;btw::bytheway需要使用结束符(;''.等)来触发。但在官方文档中,找到一种方法可以不使用结束符,基于InputHook的方式。原始的例子就不展示了,我们直接入正题--封装后的代码。代码/***@example*;registeractionsbyconstructor
  • 2024-01-22[AHK2] wt调用命令
    最近在研究mc服务器,一般启动时使用bat文件就可以,但是我想在终端中运行而不是在cmd中。查了wt和pwsh的文档写出了下面的脚本。作用仅仅是在wt中运行java这条命令。脚本包括一些变量,其中:reuse表示是否打开一个新的wt实例。headC表示在调用jar前运行的powershell命令。javaC中
  • 2023-12-29[AHK2] 为toolwindow窗口添加阴影效果
    如下示例g:=Gui('-Caption+Border');或包含+ToolWindowg.SetFont('s13','consolas')g.AddText('c4c071d',data)g.BackColor:='f6eeda'g.Show('x100y50')WinSetTransColor('white
  • 2023-10-23[AHK2] 截图工具
    这是由ahk2编写的工具,用于屏幕截图,它具有以下核心功能:- 截图并粘贴- 缩放贴图- 保存截图至剪贴板和文件- 分组管理其他功能包括:- 读取位图并显示- 历史截图管理更多功能包括:- 完全自由的自定义- 简单的功能扩展 脚本共1500多行,便不在此处粘贴,感兴趣的可以去
  • 2023-10-22[AHK2] 合并使用#include的脚本
    这个脚本用于将一个脚本中的#include语句包含的脚本添加到这条#include语句的位置。同时,它有其他功能,如:去除空行、注释(仅单行)、替换内置变量。因为脚本原理是读取单行并处理,所以只能处理单行注释,要做更多复杂功能就需要使用其他方法了,比如索引表……但脚本主要目的就是合并分部
  • 2023-10-22[AHK2] 向对象原型添加属性和方法
    ahk和js十分相似,其中一点就是可以向本地对象添加自定义方法和属性。下面的脚本向ahk的字符串,数组添加了许多方法,添加之后在使用上就和js更加相似了。;Thisscriptisusedtoextendthemethodsoftheahknativeobjectprototype#RequiresAutoHotkeyv2.0#SingleInstan
  • 2023-08-23[AHK2] 使用#Include-二
    开始上一次,我们提到了如何使用#Include,以及使用时应注意的问题,现在我们就来解决这个问题。如何保证资源路径始终是正确的?思路我们仿造nodeJs的Path.resolve(),实现一个ahk的resolve()。但要注意的一点是:使用静态变量Workdir代替__dirname因为我们没有这样一个__dirname变
  • 2023-08-23[AHK2] 屏幕放大镜
    介绍此脚本源自远古的ahk1,里面甚至使用了IfLess这种语法。但不管怎么说,它是个十分好的脚本,代码精简,效率也好。所以我将它升级到了ahk2版,并对部分内容做提炼,疏通了整个脚本的脉络(老语法实在混乱)。它的作用就是可以放大鼠标下的屏幕,以gui的形式展示出来。效果如下:此外,还有以下
  • 2023-08-23[AHK2] 让终止符决定热字串
    介绍这是一种在使用同一热字串的情况下生成不同结果的技巧。例子下面是一个例子,用于生成三种样式的CommonJs导入语句。它在我写nodeJs时可以省下些许麻烦。根据终止符的不同,会生成三种导入语句:空格->使用默认名app,导入模块自行输入。分号->变量名和模块名相同,输入
  • 2023-08-23[AHK2] 更改脚本初始代码
    ahk初始提供的模版代码将在创建ahk2脚本时自动添加,如果需要更改的话,只要修改ahk安装目录/UX/Templates/Minimalforv2.ahk文件内容即可。它的初始内容只有#RequiresAutoHotkeyv2.0。我添加了些许片段:ifA_LineFile==A_ScriptFullPath{}在花括号内的代码只在以当前文
  • 2023-08-23[AHK2-UI] 实现自己的Show()方法
    为什么这其实是一种两阶段XX的设计模式,比如两阶段终止:调用终止方法时并不立即终止,而是设置终止信号,由别人自身决定终止的操作。同样,实现Show()方法算是一种两阶段启动:外部调用Show()方法时,由自身决定show前做什么,show后又做什么,以及如何show。例子这是一个Show()方法:staticS
  • 2023-08-23[AHK2-UI] 使用#Include
    #Include是什么一句话介绍:可以将一个脚本的代码插入到Include语句的位置。作用使用#Include可以实现分模块开发,对于代码组织有十分重要的作用。通常使用小型脚本(只有些热键和热字串)不需要使用;但当脚本不仅仅是这些,还要写ui界面或更繁杂的功能时,我们最好将ui和数据处理的逻辑分
  • 2023-08-20[AHK2-UI] 新系列~
    介绍这个系列中,我将分享我使用ahk2UI的经验,帮助更多小伙伴写出理想的UI界面。首先来看看一个精心设计的ui工具的截图,看看与你印象中的ahkUI有什么不同吧XD.效果图ui工具一SpMemo主界面某子界面退出界面夜间主题XD是不是像个小应用呢?它的作用其实是可以方
  • 2023-08-20[AHK2] 切换鼠标锁定
    介绍这个脚本在看视频时很有用,通过热键可以切换鼠标的锁定,从此不用担心误碰鼠标导致弹出进度条了。脚本使用的热键是ScrollLock的扫描码,一般情况下不会用到,但我很喜欢这个热键。可以根据自身喜好进行更改。注意:这里依旧使用了先前分享的更常用的ToolTip,作用是显示提示,并
  • 2023-08-20[AHK2] 窗口置顶管理
    开始如题,这个脚本是用来设置窗口置顶状态和进行批量管理的。在实际生活中,窗口置顶还算常用吧~反正我常常烦躁于窗口层级,虽然可以截图置顶,但总归不如直接置顶窗口方便。于是我早早的便写了类似功能的脚本,只是最近才对其进行功能上的完善和扩展,使使用更人性,更直观。说人话就是更
  • 2023-07-26[AHK2] 亮度控制
    开始ahk本身并未提供亮度控制的快捷api,所以需另寻它法。一种是借助DllCall调用win32函数。另一种是使用ComObj。最后是使用Run调用cmd。我尝试使用DllCall,但并未成功,水平仍不足。后来在ahk手册找到使用ComObj调用cmd的方法,很好实现。但使用此方式会出现cmd闪屏,实际上使用a
  • 2023-07-25[AHK2] 虚拟键盘
    介绍此脚本源自ahk社区的ahk_vl版本,时过境迁,版本更迭,我将此脚本升级到v2版本,对部分内容做简化,并增加了更多功能。不仅于显示按下哪些按键,而可以作为其他脚本的子脚本,形成内置键盘的形式。使用双击托盘图标显示或关闭悬浮键盘shift+LButton移动shift+WhellUp\WhellDown改变