8

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

我怎样才能访问这些函数,或者一般来说是一个 Wine dll?我试过了

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

但这会导致错误:

OSError: ~/.wine/drive_c/windows/system32/advapi32.dll: 无效的 ELF 标头

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

4

2 回答 2

7

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

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

于 2010-10-29T16:25:16.277 回答
0

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

在 linux 上,此类库以.SO 结尾

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

于 2010-10-29T16:36:06.463 回答