使用Ruby / JRuby更改注册表值

时间:2014-09-09 13:21:08

标签: ruby registry

我有一个更改一些注册表值的.reg文件,这很好用。我试图通过JRuby编写的脚本调用system('path\to\file.reg')调用,但由于某种原因,文件没有被执行。我尝试使用双引号而不是单引号,两个正斜杠以避免转义,反斜杠和其他一些事情。我还试图通过使用Ruby的Win32API以编程方式更改我的脚本中的注册表值,但我也没有这样的运气(它是64位机器)。我使用的代码是:

Win32::Registry::HKEY_LOCAL_MACHINE.open('SOFTWARE\foo') do |reg|
    reg.each_value { |name, type, data| } 
end

还有其他方法可以实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

我能够通过以管理员身份运行IDE并运行以下命令来实现此目的:

system("reg add HKLM\\SOFTWARE\\Wow6432Node\\Path\\To\\Location /v *Name* /t REG_SZ /d *Data* /f")

基本上,我通过系统调用执行了.reg文件的内容,因为它只做了一件事。