python编译ctypes报错
‘壹’ 怎么解决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'