Commit e23c4d69 authored by Olivier Aubert's avatar Olivier Aubert

python-ctypes: improve win32 initialization (contrib from <mmuellen@gmx.de>)

parent 10d4cfc5
...@@ -46,11 +46,26 @@ elif sys.platform == 'win32': ...@@ -46,11 +46,26 @@ elif sys.platform == 'win32':
plugin_path=None plugin_path=None
path=ctypes.util.find_library('libvlc.dll') path=ctypes.util.find_library('libvlc.dll')
if path is None: if path is None:
# Try a standard location. # Try to use registry settings
p='c:\\Program Files\\VideoLAN\\VLC\\libvlc.dll' import _winreg
if os.path.exists(p): plugin_path_found = None
plugin_path=os.path.dirname(p) subkey, name = 'Software\\VideoLAN\\VLC','InstallDir'
os.chdir(plugin_path) for hkey in _winreg.HKEY_LOCAL_MACHINE, _winreg.HKEY_CURRENT_USER:
try:
reg = _winreg.OpenKey(hkey, subkey)
plugin_path_found, type_id = _winreg.QueryValueEx(reg, name)
_winreg.CloseKey(reg)
break
except _winreg.error:
pass
if plugin_path_found:
plugin_path = plugin_path_found
else:
# Try a standard location.
p='c:\\Program Files\\VideoLAN\\VLC\\libvlc.dll'
if os.path.exists(p):
plugin_path=os.path.dirname(p)
os.chdir(plugin_path)
# If chdir failed, this will not work and raise an exception # If chdir failed, this will not work and raise an exception
path='libvlc.dll' path='libvlc.dll'
else: else:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment