我正在Linux中编写python脚本,需要调用Wine中的一些Windows函数。具体而言,AllocateAndInitializeSid
和LookupAccountSidW
,以确定谁登录到远程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
功能可以使用,或者我可以使用哪种葡萄酒界面?
答案 0 :(得分:6)
Wine不提供*.so
版本的dll吗?例如,我似乎有/usr/lib32/wine/advapi32.dll.so
。
如果您使用的是64位计算机,请记住,您需要使用32位版本的Python来加载32位库。
答案 1 :(得分:0)
了解 .DLL 是Windows使用的格式。
在Linux上,此类库以 .SO
结尾您不能在另一个平台上使用为一个平台编译的库。它不兼容。