class BradyW::RegistryAccessor

Public Instance Methods

regvalue(key, value) click to toggle source
   # File lib/registry_accessor.rb
 5 def regvalue(key, value)
 6   keyAndVal = "#{key}\\#{value}"      
 7   begin
 8     regvalue64(key, value)
 9   rescue
10     begin
11       regvalue32(key, value)
12     rescue
13       raise "Unable to find registry value in either 32 or 64 bit mode: #{keyAndVal}"
14     end
15   end
16 end

Private Instance Methods

regvalue32(key, value) click to toggle source
   # File lib/registry_accessor.rb
31 def regvalue32(key, value)
32   Win32::Registry.open(Win32::Registry::HKEY_LOCAL_MACHINE,
33                        key) do |reg|
34     return reg[value]
35   end
36 end
regvalue64(key, value) click to toggle source
   # File lib/registry_accessor.rb
20 def regvalue64(key, value)
21   # workaround to make sure we have 64 bit registry access
22   ourKeyRead = Win32::Registry::Constants::KEY_READ |
23                        Windows::Registry::KEY_WOW64_64KEY
24   Win32::Registry.open(Win32::Registry::HKEY_LOCAL_MACHINE,
25                        key,
26                        ourKeyRead) do |reg|
27     return reg[value]
28   end
29 end