fetches the dll path from the registry

This commit is contained in:
onyx-and-iris 2023-07-07 02:30:05 +01:00
parent d35a4be8e8
commit 8e7e14aa6c

View File

@ -0,0 +1,34 @@
require "win32/registry"
require "pathname"
require "ffi"
module Voicemeeter
private
#stree-ignore
module Install
OS_BITS = FFI::Platform::CPU.downcase == "x64" ? 64 : 32
def get_vmpath()
reg_key = [
:Software,
(OS_BITS == 64 ? :WOW6432Node : nil),
:Microsoft,
:Windows,
:CurrentVersion,
:Uninstall,
:'VB:Voicemeeter {17359A74-1236-5467}'
]
Win32::Registry::HKEY_LOCAL_MACHINE.open(
reg_key.compact.join("\\")
) do |reg|
value = reg[:UninstallString.to_s]
Pathname.new(value).dirname
end
end
module_function :get_vmpath
end
end