#python #dll #ctypes #dllimport
Вопрос:
я пытаюсь использовать библиотеку dll kernal32 и использовать функции из нее. при попытке сделать это я получил ошибку.
Traceback (most recent call last):
File "C:UsersTawfiqDesktop2D renderwin32.py", line 2, in <module>
mydll = cdll.LoadLibrary(r"C:WindowsSysWOW64kernel32.dll")
File "C:Program FilesPython39libctypes__init__.py", line 452, in LoadLibrary
return self._dlltype(name)
File "C:Program FilesPython39libctypes__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 is not a valid Win32 application
это код, который я выполняю:
from ctypes import*
mydll = cdll.LoadLibrary(r"C:WindowsSysWOW64kernel32.dll")
print(mydll.timeGetTime())
Ответ №1:
c:windowssyswow64
содержит 32-разрядные библиотеки DLL. Ваш путь к Python c:Program Files
-это 64-разрядное место установки Python. Вы не можете смешивать.
Не нужно жестко кодировать путь. Просто используйте mydll = WinDLL('kernel32')
, и Windows выполнит поиск правильного стандартного местоположения для запущенного Python (32 — или 64-разрядного).
Комментарии:
1. да, я пробовал, и это работает