如何在Linux上从python调用Wine dll?

时间:2010-10-29 14:19:18

标签: python linux dll wine

我正在Linux中编写python脚本,需要调用Wine中的一些Windows函数。具体而言,AllocateAndInitializeSidLookupAccountSidW,以确定谁登录到远程Windows计算机。这些功能是advapi32.dll in Wine的一部分(编辑:使用答案,我可以调用该函数,但LookupAccountSidW仅适用于本地计算机)。

我如何访问这些功能或一般的Wine dll?我试过了

>>> cdll.LoadLibrary("~/.wine/drive_c/windows/system32/advapi32.dll")

但会导致错误:

OSError: ~/.wine/drive_c/windows/system32/advapi32.dll: invalid ELF header

是否有其他ctypes功能可以使用,或者我可以使用哪种葡萄酒界面?

2 个答案:

答案 0 :(得分:6)

Wine不提供*.so版本的dll吗?例如,我似乎有/usr/lib32/wine/advapi32.dll.so

如果您使用的是64位计算机,请记住,您需要使用32位版本的Python来加载32位库。

答案 1 :(得分:0)

了解 .DLL 是Windows使用的格式。

在Linux上,此类库以 .SO

结尾

您不能在另一个平台上使用为一个平台编译的库。它不兼容。