Порядок поиска Windows DLL задокументирован в MSDN. Это не зависит от Python, и нет способа изменить порядок поиска из параметра командной строки. (Но посмотрите в связанной статье другие способы повлиять на порядок поиска.)
Источник до ctypes/__init__.py
делает:
from _ctypes import LoadLibrary as _dlopen
Мне не удалось найти определение LoadLibrary
в _ctypes.c
, но, вероятно, это оболочка для функции Windows LoadLibraryEx
, которая ведет себя аналогично функция POSIX dlopen
, потому что именно так она используется.
Если вы можете изменить исходный код Python для использования конструктора ctypes.CDLL
, он должен работать:
folder = os.path.dirname(os.path.abspath(__file__))
dll_path = os.path.join(folder, "wiiuse.dll")
dll = ctypes.CDLL(dll_path)
Если это нежизнеспособно, возможно, вы сможете обезопасить ctypes для обработки этого конкретного случая, но это кажется немного опасным. Возможно, просто скопировать библиотеку DLL в ту же папку, что и библиотека Python, было бы самой простой альтернативой.