AHK多个脚本共享全局变量 v1.0
来源:互联网 发布:有声漫画软件 编辑:程序博客网 时间:2024/05/20 17:59
AHK多个脚本共享全局变量 v1.0
写了个简单的多脚本共享变量脚本,有需求的可以试试。
;---------------------------; AHK多个脚本共享全局变量 v1.0;; 作者:FeiYue;; 说明:这是简单的方法实现多脚本共享内存。; 采用独立的全局变量管理进程,从而; 使某个脚本重启或退出后不影响效果。;---------------------------#NoEnv; 模仿第一个脚本,使用F1热键读取全局变量 a1F1::{ ; 读取全局变量 a1 的值 a1:=Global_getvar("a1") ; 修改全局变量 a1 的值,使其值加1 a1++ Global_setvar("a1", a1) ; 在鼠标的右上边显示提示 MouseGetPos, x1, y1 ToolTip, 第一个脚本显示全局变量 a1=%a1%, x1+20, y1-20, 1}; 用定时器代替无限循环,从而两个热键可以同时运行SetTimer,, 100return; 模仿第二个脚本,使用F2热键读取全局变量 a1F2::{ ; 读取全局变量 a1 的值 a2:=Global_getvar("a1") ; 在鼠标的右下边显示提示 MouseGetPos, x2, y2 ToolTip, 第二个脚本显示全局变量 a1=%a2%, x2+20, y2+20, 2}; 用定时器代替无限循环,从而两个热键可以同时运行SetTimer,, 100return; 按Esc热键退出程序Esc::ExitApp;========== 下面是函数 ==========; 获取全局变量的值Global_getvar(var) { if !(var~="^\S{1,253}$") return if Global_createvar(var) ControlGetText, value return, value}; 修改全局变量的值Global_setvar(var, value="") { if !(var~="^\S{1,253}$") return if Global_createvar(var) ControlSetText,, %value%}; 根据变量名称生成全局变量Global_createvar(var) { DetectHiddenWindows, On IfWinExist, [Global][%var%] return, 1 global DebugTip:="正在生成全局变量:" var " ——" ; 先启动全局变量管理进程 IfWinNotExist, <<Global>> { s= (% #NoEnv #NoTrayIcon #SingleInstance force Menu, Tray, Icon, Shell32.dll, 19 Menu, Tray, Tip, 全局变量管理进程 DetectHiddenWindows, On IfWinExist, <<Global>> ExitApp Gui, Add, Edit, vMyEdit Gui, Show, Hide, <<Global>> index:=0 return GuiClose: GuiControlGet, var,, MyEdit if (var!="") { GuiControl,, MyEdit index++ Gui, var%index%:Add, Text, w100 h100 Gui, var%index%:Show, Hide, [Global][%var%] } return ) Exec(s) } WinWait, <<Global>>,, 10 if !ErrorLevel { ControlSetText,, %var% WinClose WinWait, [Global][%var%],, 10 } return, !ErrorLevel}; 动态运行AHK代码Exec(s, Ahk="", arg="") { s:=RegExReplace(s, "\R", "`r`n") Ahk:=Ahk ? Ahk : A_AhkPath IfNotExist, %Ahk% { MsgBox, 4096, 错误, 找不到AHK主程序:%AHK% ! return } Try { exec:=ComObjCreate("WScript.Shell").Exec(Ahk . " /r * " . arg) exec.StdIn.Write(s) exec.StdIn.Close() } Catch { s:="`r`nFileDelete, %A_ScriptFullPath%`r`n" . s f:=A_Temp "\~test1.tmp" FileDelete, %f% FileAppend, %s%, %f% Run, %Ahk% /r "%f%" %arg% }};========== 脚本结束 ==========;
阅读全文
0 0
- AHK多个脚本共享全局变量 v1.0
- 多个源文件共享一个全局变量
- AHK源代码加密器 v1.0
- 第二节、AHK创建第一个脚本
- [AHK]ahk脚本管理器
- 使用DLL在多个进程间共享全局变量
- 使用DLL在多个进程间共享全局变量
- [AHK]脚本调度脚本
- ahk脚本兼容性
- ahk脚本简介
- ahk脚本指南
- [AHK]用ahk执行VBScript脚本
- C++多文件共享全局变量
- 当调用的DLL中有全局变量时调用它的多个实例是否共享同一个全局变量?????
- 当调用的DLL中有全局变量时调用它的多个实例是否共享同一个全局变量
- 全局的变量,可以在多个cpp中共享的全局变量
- 多个进程范文DLL中的函数/全局变量/数据共享段问题
- C++多个文件共享同一头文件时全局变量的声明
- 置信区间
- mybatis教程
- ARM体系结构下面内存和i/o映射区别
- AHK源代码加密器 v1.0
- RandomAccessFile基本操作
- AHK多个脚本共享全局变量 v1.0
- 微软的Chart控件的用法-折线图
- 数字签名算法RSA
- 屏幕抓字生成字库工具与找字函数 v5.6
- 数字签名算法DSA
- 程序加密启动 v2.6
- 在屏幕顶部居中显示当前时间
- 强大的老板键【中键隐藏并静音】
- 【鼠标键盘录像机】 v2.1