在 python 中加载 DLL 时出错,不是有效的 win32 应用程序 [重复]

2023-12-07

我正在尝试在 python 中加载 DLL 来调用函数。

import ctypes
from ctypes import *

dsusb = ctypes.WinDLL('c:\python27\dsusb.dll')

我的堆栈中出现以下错误。

C:\Python27>python test.py
Traceback (most recent call last):
  File "test.py", line 4, in <module>
    dsusb = ctypes.WinDLL('c:\python27\dsusb.dll')
  File "C:\Python27\lib\ctypes\__init__.py", line 365, in __init__
    self._handle = _dlopen(self._name, mode)
WindowsError: [Error 193] %1 is not a valid Win32 application

我也尝试了使用相同代码的 cdll 。

我查找了错误,Windows 说这是由于路径包含空格...我认为这不是真正的问题...

是我加载这个 DLL 错误还是 DLL 中可能有问题?


正如评论所暗示的,这可能是一个架构问题。

如果您在 64 位 Python 中使用 32 位 DLL,反之亦然,那么您可能会收到错误。

由于我之前遇到过您的错误,因此我建议尝试使用 32 位 Python 加载您的 DLL。

测试 *.dll 文件是 32 位还是 64 位的一种方法是使用dumpbin.exe, e.g.

dumpbin /headers dsusb.dll

...

FILE HEADER VALUES
             14C machine (x86)
...

machine (x86)表示32位,machine (x64)意思是64位。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 python 中加载 DLL 时出错,不是有效的 win32 应用程序 [重复] 的相关文章

随机推荐

  • 在工作线程中使用 std::atomic_flag 时出现问题

    抱歉啰嗦了 我尽了最大努力将我的代码示例压缩成一个最小的功能类并且main method 我正在尝试使用atomic flag通知 rx 在我的工作线程中退出时stop 叫做 我相信问题在于尝试创建我的工作线程 thread SanityT
  • 避免使用“return”语句复制对象

    我有一个关于 C 的非常基本的问题 返回对象时如何避免复制 这是一个例子 std vector
  • 指定弹出位置,整个页面导航

    您好 我在 WP8 应用程序中定位弹出窗口时遇到问题 我的代码是我实例化了一个弹出窗口 其中子项是用户控件 例如 Popup CenterPopup new Popup LayoutRoot Children Add CenterPopup
  • 如何在用户离开当前活动时执行一些代码(按返回硬件按钮)

    正如标题所说 我该怎么做 我查了一下互联网 似乎你做不到 有人知道怎么做吗 我的意思是 我知道当用户按下关闭活动的按钮时如何执行我的代码 但是硬件后退按钮呢 谢谢你 覆盖onBackPressed Override public void
  • bash 中的字符串比较。 [[: 未找到

    我正在尝试比较 bash 中的字符串 我已经找到了如何执行此操作的答案堆栈溢出 在我尝试的脚本中 我使用 Adam 在上述问题中提交的代码 bin bash string My string if string My then echo I
  • PHP:每 10 秒检查 mysql 数据库是否有新行

    我正在进行 php 聊天 并开始 php 检查数据库部分 因此 当用户在聊天中输入内容时 它会记录在 MySQL 数据库中 我如何每 10 秒检查一次数据库 以便一个用户的聊天会更新为其他用户的新消息 我知道你可以使用 ajax 请求到一个
  • php 显示错误

    我已经更新了我的代码 php 并改进了我的问题 我有一个登录表单 当我输入错误的密码时 我没有出现此错误 您还没有注册或密码错误 我什么都没有 什么也没有出现 这是我的代码 php 我的数据是 mongodb
  • 将另一个类作为类的静态属性

    阅读下面的示例 但不要过多关注EventEmitter请继承 它只是显示了class syntax 我意识到这个例子是不正确的 ES2015 因为没有这样的东西static class陈述 在 ES2015 中实现这样的功能最简洁的语法方式
  • html5中如何对输入时间采取步骤和限制?

    我需要自定义数据输入7 to 23 hours并采取10 minute步骤在input time就像下面的例子 input time gt gt gt 07 10 07 20 07 30 22 40 22 50 23 00 请帮我 您需要使
  • Go 中按空格分割字符串?

    给定一个输入字符串 例如 word1 word2 word3 word4 在 Go 中将其拆分为字符串数组的最佳方法是什么 请注意 可以有any每个单词之间的空格或 unicode 间距字符数 在Java中我只会使用someString t
  • PHP/MySQL 多级菜单

    我正在尝试使用 PHP 创建动态多级菜单 从 MySQL 数据库获取数据 我已经设法用以下格式在 php 数组中订购菜单项 Array 1 gt Array id gt 1 ubicacion gt top a nivel gt 1 par
  • VBA xmlhttprequest循环而不关闭连接

    我正在 VBA 中使用 xmlhttp 连接到 API 问题是我需要使用相同的 API 链接多次创建循环 唯一的区别是我发送了不同的 JSON 字符串 是否可以仅打开一次连接并发送标头和身份验证 然后多次发送数据并接收响应 主要目的是提高代
  • 有没有办法保存最大 1 MB 的“消息”集合并将结果写入 JSON/CSV 文件

    我有一个阻塞队列 它不断通过某些应用程序获取消息 现在在 asp net 应用程序中 我尝试使用该队列并将输出写入 CSV JSON 文件 在这里 我想保存最多 1MB 的消息 这些消息从阻塞队列接收 然后将其写出 现在再次保存 1MB 的
  • 如何在一个适配器上应用多个过滤器?

    我有一个 listView 和一个搜索字段 它调用我的适配器的 getFilter filter keyword 函数 它工作得很好 但我想添加另一个过滤器来搜索 listViews 对象的不同标签 所以我的适配器需要两个过滤器 对此最好的
  • IntelliJ 的嵌入式终端无法正确加载我的 Fish shell 配置

    IntelliJ 中的 Fish 配置未正确加载 并且我看到有关路径未正确设置的警告 set Warning PATH entry set Did you mean set PATH PATH 因此 IntelliJ 似乎能够获取位于 co
  • C# 导出到excel

    这是将数据导出到现有 xls 工作表的最佳方式 我需要支持很多版本的excel 如果我使用 Visual basic 我将使用 CreateObject Excel application 代码来完成我需要的操作 C 中的等价物是什么 我希
  • AnyLogic 中的系统动力学 - 斐波那契序列 [关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我在 AnyLogic 中有一个系统动力学模型 我试图在其中对斐波那契序列进行建模 然而 由于某种原因 我的结果与预期不同 代替 1 1 2 3 5 8 13 I get 1 2 1379
  • 如何在重命名后找到存储库的新位置

    如果用户将存储库重命名为foo bar git to foo baz git通过 GitHub 的 UI 我如何通过 API 检测到这一点 目前 如果我像这样调用 API 我会收到 404 GET repos foo bar 如何找到新的存
  • 使用正则表达式根据用户名的最后一个字母更改文本

    我希望根据用例更改用户名的结尾 在将运行的语言系统中 名称结尾取决于其使用方式 因此需要定义名称的所有结尾并定义它们的替换 建议使用 gsub 正则表达式在字符串中搜索和替换 根据用户名的最后一个字母更改文本 name surname gs
  • 在 python 中加载 DLL 时出错,不是有效的 win32 应用程序 [重复]

    这个问题在这里已经有答案了 我正在尝试在 python 中加载 DLL 来调用函数 import ctypes from ctypes import dsusb ctypes WinDLL c python27 dsusb dll 我的堆栈