當前位置:首頁 » 編程軟體 » python編譯ctypes報錯

python編譯ctypes報錯

發布時間: 2022-03-07 05:28:02

『壹』 怎麼解決python導入dll報錯windowserror:126, 不是路徑的問題

解決辦法:

載入的時候要根據你將要調用的函數是符合什麼調用約定的。 windll和cdll分別是WinDLL類和CDll類的對象。

stdcall調用約定:

Objdll = ctypes.windll.LoadLibrary("dllpath")

Objdll = ctypes.WinDLL("dllpath")

cdecl調用約定:

Objdll = ctypes.cdll.LoadLibrary("dllpath")

Objdll = ctypes.CDLL("dllpath")

調用後就可以使用dll中的函數

print Objdll.Add(1, 102)

Objdll = ctypes.cdll.LoadLibrary("D:\dll\PosterDetector.dll")

(1)python編譯ctypes報錯擴展閱讀

python導入dll報錯展示:

使用python調用C++的dll報錯,錯誤如下:

Traceback (most recent call last):File "E:/work/proc/video_web/application.py", line 157, in <mole>

Objdll = ctypes.cdll.LoadLibrary(os.path.join(APP_ROOT,"dll","PosterDetector.dll"))

File "d:python27Libctypes\__init__.py", line 444, in LoadLibrary

return self._dlltype(name)

File "d:python27Libctypes\__init__.py", line 366, in __init__

self._handle = _dlopen(self._name, mode)

WindowsError: [Error 126]

『貳』 python用ctypes操作剪切板遇到問題!!

這邊執行沒有問題,版本如下

Python3.5.0(v3.5.0:374f501f4567,Sep132015,02:27:37)[MSCv.190064bit(AMD64)]onwin32

代碼如下

importctypes
defget():
'''從剪切板中獲得字元串'''
h=ctypes.WinDLL('user32.dll')
h.OpenClipboard(0)
aa=h.GetClipboardData(13)
ss=ctypes.c_wchar_p(aa)
h.CloseClipboard()
returnss.value
defset(mystr):
'''把字元串放到剪切板中,成功返回1,失敗返回0'''
u=ctypes.WinDLL('user32.dll')
k=ctypes.WinDLL('kernel32.dll')
s=mystr.encode('utf-16')
s=s[2:]+b''
ss=ctypes.c_char_p(s)
u.OpenClipboard(0)
u.EmptyClipboard()
k.GlobalAlloc.argtypes=[ctypes.c_uint32,ctypes.c_uint32]
try:
cb=k.GlobalAlloc(0,len(s))
cb=ctypes.c_void_p(cb)
print(type(cb))
ctypes.memmove(cb,ss,len(s))
rr=u.SetClipboardData(13,cb)#13->unicode
finally:
u.CloseClipboard()
ifrr==0:
return0
else:
return1
#-----
set("abcdefg")

程序返回

<class'ctypes.c_void_p'>

『叄』 python中用ctypes載入dll的錯誤,求教

檢查一下DLL的python開發版本是否一致。
可能regulus_stream.dll還有有其他依賴的dll沒找到...
原因是漏了某個dll..

『肆』 Python調用dll文件返回錯誤無法解決,,,大神幫忙啊!

Error 126是未找到相應模塊,在目錄C:/Python27/Lib/ctypes下面有Sum.dll文件嗎?

『伍』 python怎麼導入ctypes

1. 載入Windows系統自帶的dll文件:
#載入cdecl調用約定的dll
msvcrt =cdll.msvcrt
#載入stdcall調用約定的dll
kernel32 =windll.kernel32
2. 載入自己dll文件,假如為addFuncDll,方式如下:
mydll =CDLL("addFuncDll.dll")
或者 mydll = cdll.addFuncDll
如果其中有函數add,計算兩個整數的和,則使用方式如下:
result=mydll.add(4,5)
可以多一步指明add函數的參數類型(也可不指明):
mydll.add.argtypes= [c_int,c_int]
3. 結構體在python中定義為Structure的子類如下:
class POINT(Structure):
_fields_ = [("x", c_int),
("y",c_int)]
_fields中每一項為元組(成員名稱,類型)
結構體還可以用於其他的結構體:
class RECT(Structure):
_fields_ = [("upperleft",POINT),
("lowerright",POINT)]

『陸』 python Ctypes 重寫C介面的問題

>>>fromctypesimport*
>>>ppvoid=POINTER(c_void_p)
>>>ppvoid
<class'__main__.LP_c_void_p'>

『柒』 如何通過python ctypes 在64位平台 取得模塊handle 和函數地址

我用的是 64位的、
原因,我找到了:
GetMoleHandleA 和 GetProcAddress 在調用前需要 把 argtypes 和 restypes 類型進行定義就可以。原因可能是默認的是32位的返回值。

『捌』 如何查看 python import 文件位置

修改文件夾名字的方式排查,命令行 import ctypes 用的是 python 目錄下 lib/ctypes 文件夾下的文件,而編譯環境用的是同一個 python 目錄(修改python文件夾名無法編譯),但是修改 lib/ctypes 文件夾名,仍能編譯通過 import ctypes。

『玖』 python的ctypes問題

親!縮進呢! 這真心不好猜啊

『拾』 python ctypes 問題

我在互動式環境下使用沒問題,你查一下環境吧。另外,庫名可以不加後綴名,因為linux下可能是so後綴的,加了也沒關系。

C:\Users\s>python
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "right", "credits" or "license" for more information.
>>> from ctypes import *
>>> dir(CDLL)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattr__',
'__getattribute__', '__getitem__', '__hash__', '__init__', '__mole__', '__new
__', '__rece__', '__rece_ex__', '__repr__', '__setattr__', '__sizeof__', '__
str__', '__subclasshook__', '__weakref__', '_func_flags_', '_func_restype_']
>>> dll=CDLL("msvcrt")
>>> dll
<CDLL 'msvcrt', handle 75b30000 at 2624570>
>>> dll=CDLL("msvcrt.dll")
>>> dll
<CDLL 'msvcrt.dll', handle 75b30000 at 2608ed0>

熱點內容
我的世界伺服器怕被破壞怎麼辦 發布:2025-01-21 02:33:15 瀏覽:932
linux下交叉編譯實驗 發布:2025-01-21 02:19:00 瀏覽:434
java培訓班多少錢 發布:2025-01-21 02:17:23 瀏覽:335
帝豪gl哪個配置是電容屏 發布:2025-01-21 02:11:23 瀏覽:304
openwrt編譯零基礎 發布:2025-01-21 01:53:30 瀏覽:20
視頻聊天室源碼php 發布:2025-01-21 01:39:29 瀏覽:939
游戲腳本xp 發布:2025-01-21 01:25:48 瀏覽:210
cfa建模需要什麼電腦配置 發布:2025-01-21 01:16:41 瀏覽:97
配置獲取異常怎麼辦 發布:2025-01-21 01:16:29 瀏覽:642
植發都加密嗎 發布:2025-01-21 01:16:28 瀏覽:736