相关疑难解决方法(0)

使用ctypes windll卸载64位dll时出错

我发现这里有几篇关于使用ctypes卸载dll的帖子,我完全按照ctypes import*的方式进行操作

file = CDLL('file.dll')

# do some stuff here

handle = file._handle # obtain the DLL handle

windll.kernel32.FreeLibrary(handle)
Run Code Online (Sandbox Code Playgroud)

但是,我在python 64位,我的DLL也编译为x64,我从上面的最后一行得到一个错误说:

argument 1: <class 'OverflowError'>: int too long to convert
Run Code Online (Sandbox Code Playgroud)

我检查句柄是'8791681138688'的长int(int64),那么这是否意味着windll.kernel32只处理int32句柄?谷歌搜索显示kernal32也适用于64位窗口.我应该怎么处理呢?

python 64-bit ctypes

4
推荐指数
1
解决办法
2166
查看次数

标签 统计

64-bit ×1

ctypes ×1

python ×1