跳到主要内容

DimEnv 定义环境变量

🎯功能

定义环境变量, 该变量作用范围是整个按键精灵进程, 只要按键精灵不关闭, 那么值会一直保存最后一次赋值内容, 另外多个脚本共用相同的环境变量

📜语法

DimEnv 变量名

📥参数

参数数据类型解释
变量名标识符任意有效标识符

📤返回

💡示例

Dim a
Dimenv env_a, env_b(1)
a = "普通变量"
env_a = "环境变量"
env_b(0) = "环境数组0"
env_b(1) = "环境数组1"

TracePrint "主线程中a = " & a
TracePrint "主线程中env_a = " & env_a
TracePrint "主线程中env_b(0) = " & env_b(0)
TracePrint "主线程中env_b(1) = " & env_b(1)

BeginThread 线程取值
Delay 1000
TracePrint "修改后主线程中a = " & a
TracePrint "修改后主线程中env_a = " & env_a
TracePrint "修改后主线程中env_b(0) = " & env_b(0)
TracePrint "修改后主线程中env_b(1) = " & env_b(1)


Sub 线程取值()
TracePrint "子线程中a = " & a
TracePrint "子线程中env_a = " & env_a
TracePrint "子线程中env_b(0) = " & env_b(0)
TracePrint "子线程中env_b(1) = " & env_b(1)

TracePrint "子线程修改值"
a = "修改后a"
env_a = "修改后环境a"
env_b(0) = "修改后环境数组0"
env_b(1) = "修改后环境数组1"

TracePrint "修改后子线程中a = " & a
TracePrint "修改后子线程中env_a = " & env_a
TracePrint "修改后子线程中env_b(0) = " & env_b(0)
TracePrint "修改后子线程中env_b(1) = " & env_b(1)
End Sub
Dimenv 环境变量
//请分4次调试运行
//第1次正常执行这3行代码
//第2次请注释或删掉 环境变量=100, 仅保留定义环境变量与输出这两句代码
//第3次请新建脚本, 仅写定义环境变量与输出这两句代码
//第4次请彻底关闭按键精灵后, 重新打开按键精灵, 并执行定义环境变量与输出这两句代码
//注意每次执行后的环境变量输出结果
环境变量 = 100
TracePrint 环境变量

📘备注

  • globaldimenvdim 的区别如下
    • Dim 作用域最小, 仅对当前子程序或当前线程有效, Global 作用域为当前脚本所有线程, DimEnv 作用域最大, 对按键精灵所有脚本有效
    • DimGlobal 在停止脚本后数据会被清除, 但 DimEnv 只有彻底关闭按键精灵软件后数据才会被清除
    • 作用域越小的变量, 访问数据速度越快