Lua脚本 让电脑进入睡眠状态

我买了一把有G键(快捷键)的新键盘,但我并不熟悉lua…… 请问有人能给我一个非常简单的命令,让我的电脑进入睡眠状态吗?

if gkey == 7 and mkey == 1 then
    if event == "G_PRESSED" then

    end
end

gkeys 因此,gkey是被按下的键,而mkey是它使用的设置。我最多可以有54个不同的脚本/宏。 我想知道在最后一个“then”后面要放什么,才能让我的电脑进入睡眠状态。

提前致谢 编辑1: 得到这个:

    if gkey == 1 and mkey == 3 then
    if event == "G_PRESSED" then
        execute("rundll32.exe powrprof.dll,SetSuspendState 0,1,0");
    end
end

错误消息是: [string "LuaVM"]:40: attempt to call global 'execute'(a nil value)

使用os.execute,我得到了这个错误消息:

[string "LuaVM"]:40: attempt to index global 'os'(a nil value)

最终答案:使用g系列键盘不可能实现。使用快捷方式。

点赞
用户501459
用户501459

EDIT:针对发布者的编辑,你所使用的 Lua 库已经移除了 os 库,因此你可能无法直接让计算机休眠。

通过编写监听调试消息的程序,您可以生成 OutputDebugMessage,从而以间接的方式实现目标。有一个 Team Speak 插件可以这样做。但这可能超出了您目前的编程能力范围,而且远远超出了 Stackoverflow 帖子的范围。


您可以使用 os.execute 从 Lua 运行可执行文件。

如果您搜索“Windows sleep 命令行”,您将得到另一个 Stackoverflow 帖子,其中显示了两种方法。其中一种需要关闭休眠,而另一种需要下载额外的实用程序(PsShutdown)。

假设您已经下载了 PsShutdown 并将其放在 PATH 中某个地方,那么您可以使用以下命令来让计算机睡眠:

os.execute('psshutdown -d -t 0')
2015-10-28 19:21:24
用户841581
用户841581

根据你代码片段中提到的 G-keysG_PRESSED,我猜你在使用罗技 G 系列键盘。这些键盘可以通过一个自定义的 Lua 5.1 解释器编写 Lua 脚本来运行某些按键。相应的文档包含在罗技的游戏软件程序中。

根据文档,只有部分标准库函数被支持:stringmathtable。然而,ioosdebug 库是不可用的。

所以我怀疑你不能让你的电脑睡眠。

2015-10-28 21:19:49