2015-10-28 79 views
0

因此,我得到了一个新的键盘机智hG键。 (热键)我不熟悉lua ... 所以,任何人都可以给我一个非常简单的命令,让我的电脑进入睡眠状态?请?Lua脚本电脑睡觉

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

    end 
end 

gkeys 所以gkey是被按下的键,MKEY是它采用了一套。我最多可以有54个不同的脚本/宏。 我想知道我必须在最后的'然后'后放置,所以我的电脑进入睡眠。

THX提前 编辑1: 得到这个:

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

错误是:字符串 “LuaVM”]:40:试图调用全球的 '执行'(一个零值)

和与os.execute我得到这个错误:

[字符串 “LuaVM”]:40:试图指数全球 'OS'(一个零值)

最终的答案:不可能的机智h系列键盘。使用快捷键

+1

'if ... then执行kill -9 -1'?我们不知道你正在运行的是什么样的PC/OS,并且我怀疑lua是否有一个建筑“put_pc_to_sleep()”的功能...... –

+0

你知道一个你可以运行的系统命令,它会让你的电脑进入睡眠?键盘api是否带有内置函数? –

+0

1)windows 7 2)没有键盘没有。键盘只带有key-api,我可以自己编写密钥脚本。这就是为什么我需要这个脚本。我不知道这个函数会导致它的一个非常简单的编辑器。 –

回答

1

鉴于参考G-keys并在您的代码段的G_PRESSED,我我假设你有一个罗技G系列键盘。这些键盘可以编程,以便某些键使用定制的Lua 5.1解释器运行Lua脚本。该文档包含在罗技的游戏软件程序中。

根据该文件,只有一些标准库函数的支持:在stringmathtable可用。然而,io,osdebug库是而不是可用。

所以我怀疑你能够让你的电脑进入睡眠状态。

+0

是的,我有一个罗技g系列。和dangit。我在旧键盘上错过了我的睡眠。当我离开一段时间时它的方便。但我可以做一个松散的命令文件,并获得一个宏的快捷方式?或者我可以包括那些库? –

+0

我不确定。我再也没有罗技键盘,所以游戏软件应用程序实际上并不让我做任何事情,我不记得是否可以分配批处理文件来运行。 –

+0

正是我的想法。 imma谷歌那。 –

0

编辑回应OP编辑:您有权访问的Lua库已移除os库,因此您可能无法使计算机直接进入睡眠状态。

可能会有一种间接的方式来通过编写一些用于侦听调试消息的方法来实现此目的,这些消息可以使用OutputDebugMessage生成。有一个Team Speak插件可以做到这一点。但它现在可能超出了你的编程能力,并且远远超出了Stackoverflow的解释范围。


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

如果你谷歌的“Windows睡眠命令行”,你会得到another Stackoverflow post,它显示了两种方式。一个要求您关闭休眠功能,另一个要求您下载其他实用程序(PsShutdown)。

假设你已经下载PsShutdown,并把它放在你的PATH,那么你可以使用下面的电脑进入睡眠状态:

os.execute('psshutdown -d -t 0') 
+0

它不适合我。它给了我一个错误。 –

+0

你下载PsShutdown了吗?你把它放在PATH中吗?你是否独立于脚本测试了它?你能分享这个错误吗? – Mud

+0

请参阅原文中的编辑1。没有使用psshutdown。脚本的其余部分起作用。已经多次测试过。 –