derlemek tümü küçük karakter olmalıdır - yolunda ters eğik çizgiler vardır çünkü genellikle hangi dönüştürülür.
Örneğin - aşağıdakiler başarısız olur - çünkü dizede \ t, SEKME karakterine dönüştürülür.
>>> import ctypes
>>> ctypes.windll.LoadLibrary("c:\tools\depends\depends.dll")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\tools\python271\lib\ctypes\__init__.py", line 431, in LoadLibrary
return self._dlltype(name)
File "c:\tools\python271\lib\ctypes\__init__.py", line 353, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found
(yani sorun ise)
a) çift eğik çizgi kullanın ...
>>> import ctypes
>>> ctypes.windll.LoadLibrary("c:\\tools\\depends\\depends.dll")
b) ileri kullanmak
>>> import ctypes
>>> ctypes.windll.LoadLibrary("c:/tools/depends/depends.dll")
c eğik 3 çözümler vardır) RAW dizeleri kullan (dize öncelen r
>>> import ctypes
>>> ctypes.windll.LoadLibrary(r"c:\tools\depends\depends.dll")
Bu üçüncüsü çalışırken - Zaman zaman 'doğru' olarak görülmediği izlenimini aldım çünkü RAW dizeleri normal ifadeler için kullanıldı. Python'da Windows'taki yollarda sorun yaşamadan yıllar boyunca kullandım :))
İçeri aktarmaya çalıştığınız DLL'yi ve bu DLL dosyasının ne yaptığını ayrıntılandırabilir misiniz? Kendisi bulamadığı başka bir DLL yüklemeye çalışıyor olabilir. – santosc
[Bu soru] yanıtı (http://stackoverflow.com/questions/2334627/error-loading-dll-in-path-with-parenthesis-using-ctypes-python) benim için çözdü - yinelenen? '>>> ctypes.windll.UseR32.MessageBoxA' ' <_FuncPtr: Hala karışık durumda kullanabilirsiniz - yanlış – Junuxx