用过ahk的大佬帮忙看看

yesorno 3月前 313 v 36.40 2024-08-28

---请问下为什么ahk.getGlobal("testVar",false)返回的是指针呢,看了帮助文档如果getGlobal第二个参数为false的话应该返回的是变量的值啊

// 导入 ahk 库

import ahk;

import console;

// 运行 AHK 脚本

ahk.run(`

#Persistent ; 保持脚本运行

#NoTrayIcon ; 不显示托盘图标


global testVar

testVar := "Hello from AHK"

MsgBox % testVar

`);


// 等待 AHK 脚本运行完毕

thread.delay(1000); // 延迟 1 秒


// 获取 AHK 全局变量 testVar 的值

var result = ahk.getGlobal("testVar", false);


// 显示结果

console.log("获取到的全局变量值:", result);


// 暂停程序

console.pause(true);


---请问下为什么ahk.getGlobal("testVar",false)返回的是指针呢,看了帮助文档如果getGlobal第二个参数为false的话应该返回的是变量的值啊


最新回复 (3)
  • 光庆 3月前
    0 2

    确实是返回了指针,因为api调用时,指定的返回指针。这个可以反馈给作者试试。

  • yesorno 3月前
    0 3
    光庆 确实是返回了指针,因为api调用时,指定的返回指针。这个可以反馈给作者试试。
    string = raw.str(result,1,0); 这样可以了
  • 光庆 3月前
    0 4
    yesorno string = raw.str(result,1,0);   这样可以了

    你这是取字符串,以0结尾的。但变量不一定是字符串,比如整数、双精度,占用字节数都不一样。如果是二进制呢。所以,不能用这个方法获取吧。

返回