如何在AutoHotKey v2中获取外部程序输出并赋值给变量
AutoHotkey v2 实现屏幕缩放100%/150%自动切换
要实现你的需求,核心是捕获SetDPI工具的命令行输出并赋值给变量,AutoHotkey v2可以通过RunWait命令的OutputVar参数完成这个操作。以下是调整后的完整脚本:
#Requires AutoHotkey v2.0 #Requires Admin ; 修改系统DPI缩放通常需要管理员权限 ; 若SetDPI.exe不在脚本同目录,请替换为完整路径(例如 "D:\Tools\SetDPI.exe") setDpiExe := "SetDPI.exe" ; 运行SetDPI获取当前缩放比例,捕获输出结果 RunWait setDpiExe "value 1",, "Hide", &output currentScale := StrToInt(Trim(output)) ; 清理输出中的多余空格/换行并转为整数 ; 根据当前缩放比例切换目标值 if (currentScale = 100) { RunWait setDpiExe "150 1",, "Hide" } else { RunWait setDpiExe "100 1",, "Hide" }
关键细节说明:
RunWait ... &output:通过&output捕获SetDPI的标准输出,这是AHK v2获取外部程序输出的标准方式"Hide"参数:运行SetDPI时隐藏命令行窗口,避免弹出黑框影响体验Trim(output)+StrToInt():清理输出内容中的多余空白字符,确保能正确转换为整数用于判断#Requires Admin:Windows系统修改显示缩放权限较高,不加这一行可能导致SetDPI无法生效
内容的提问来源于stack exchange,提问作者Pedro Nyan
相关产品推荐
相关产品推荐

