8

LinuxでPythonスクリプトを書いているので、Wineで利用できるいくつかのWindows関数を呼び出す必要があります。具体的には、AllocateAndInitializeSidおよびLookupAccountSidW、リモート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*.soは dll のバージョンを提供していませんか? /usr/lib32/wine/advapi32.dll.soたとえば、私は持っているようです。

64 ビット マシンを使用している場合は、32 ビット ライブラリを読み込むには 32 ビット バージョンの Python が必要になることに注意してください。

于 2010-10-29T16:25:16.277 に答える
0

.DLLは Windows で使用される形式であることを理解してください。

Linux では、そのようなライブラリは.SOで終わります

あるプラットフォーム用にコンパイルされたライブラリを別のプラットフォームで使用することはできません。互換性がありません。

于 2010-10-29T16:36:06.463 に答える