Как вызвать Wine dll из python на Linux?
Я пишу скрипт python в Linux и должен вызвать некоторые функции Windows, доступные в Wine. В частности, AllocateAndInitializeSid
и LookupAccountSidW
, чтобы определить, кто вошел в систему на удаленном компьютере Windows. Эти функции являются частью advapi32.dll в Wine (редактировать: используя ответы, я смог вызвать функцию, но LookupAccountSidW работает только на локальном компьютере).
как я могу получить доступ к этим функциям или dll Wine в целом? Я пробовал
>>> cdll.LoadLibrary("~/.wine/drive_c/windows/system32/advapi32.dll")
но это приводит к ошибке:
OSError: ~/.wine/drive_c/windows/system32/advapi32.dll: invalid ELF header
есть еще ctypes
функция, которая будет работать, или какой-то интерфейс вина, который я мог бы использовать?
2 ответов
не вино обеспечивает *.so
версии DLL? Я, кажется,/usr/lib32/wine/advapi32.dll.so
, например.
Если вы находитесь на 64-разрядной машине, имейте в виду, что вам понадобится 32-разрядная версия Python для загрузки 32-разрядных библиотек.
понял, что .Dll файлы - это формат, используемый в Windows.
на Linux, такие библиотеки заканчивается .Так
вы не можете использовать библиотеки, скомпилированные для одной платформы на другую. Это несовместимо.