update dll name to support latest version.

See https://github.com/nvaccess/nvda/tree/master/extras/controllerClient
This commit is contained in:
Onyx and Iris 2025-01-20 16:28:27 +00:00
parent f48983d08a
commit b5ea41c604

View File

@ -7,40 +7,40 @@ from .errors import NVDAVMError
BITS = 64 if ct.sizeof(ct.c_void_p) == 8 else 32
if platform.system() != "Windows":
raise NVDAVMError("Only Windows OS supported")
if platform.system() != 'Windows':
raise NVDAVMError('Only Windows OS supported')
REG_KEY = "\\".join(
REG_KEY = '\\'.join(
filter(
None,
(
"SOFTWARE",
"WOW6432Node" if BITS == 64 else "",
"Microsoft",
"Windows",
"CurrentVersion",
"Uninstall",
"NVDA",
'SOFTWARE',
'WOW6432Node' if BITS == 64 else '',
'Microsoft',
'Windows',
'CurrentVersion',
'Uninstall',
'NVDA',
),
)
)
def get_nvdapath():
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"{}".format(REG_KEY)) as nvda_key:
return winreg.QueryValueEx(nvda_key, r"UninstallDirectory")[0]
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r'{}'.format(REG_KEY)) as nvda_key:
return winreg.QueryValueEx(nvda_key, r'UninstallDirectory')[0]
try:
NVDA_PATH = Path(get_nvdapath()) / "nvda.exe"
NVDA_PATH = Path(get_nvdapath()) / 'nvda.exe'
except FileNotFoundError:
NVDA_PATH = ""
NVDA_PATH = ''
controller_path = Path(__file__).parents[2].resolve() / "controllerClient"
controller_path = Path(__file__).parents[2].resolve() / 'controllerClient'
if not controller_path.exists():
controller_path = Path("_internal") / "controllerClient"
controller_path = Path('_internal') / 'controllerClient'
DLL_PATH = controller_path / f"x{64 if BITS == 64 else 86}" / f"nvdaControllerClient{BITS}.dll"
DLL_PATH = controller_path / f'x{64 if BITS == 64 else 86}' / 'nvdaControllerClient.dll'
libc = ct.CDLL(str(DLL_PATH))