问题标签 [pythoncom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
11894 浏览

python - 如何使用 pyrtd/pythoncom 解决 `pywintypes.com_error`?

我正在尝试使用 Python 的pyrtd模块来获取可以通过 RTD 在 Excel 中获取的信息。

但是,当我尝试运行示例 python 脚本时,我收到以下错误:

我尝试了其他几个 RTD 功能,有时(当我Dllname.function_name用作 的参数时RTDClient())我得到:

所有这些 RTD 函数都在 Excel 2010 中运行良好。

我还没有找到 Python 的解决方案,但我已经了解了一些适用于 C# 的技巧:

基本思想是:

  1. 从注册表中获取 rtd 服务器的类类型ProgID(例如,如果您已经使用regsvr32注册了 dll ,则RTDTime.RTD可以在 中找到它们)。HKEY_LOCAL_MACHINE\SOFTWARE\Classes\RTDTime.RTD

    在 C# 中,函数是Type.GetTypeFromProgID(). 我相信 Python 模块中有相同的功能win32com

  2. 将服务器类强制转换为IRtdServer( Microsoft.Office.Interop.Excel.IRtdServer)。

  3. 然后可以IRtdServer.ConnectData(topicID, topics, newData)用来获取数据:

    • topicID似乎是随机的int
    • topics是你在Excel中使用的参数,它是一个数组;
    • newData是 a boolTrue如果您请求新数据而不是缓存数据,请将其设置为。
  4. 但是,我相信如果想要自动更新数据,则需要一个回调事件。

根据链接的博客文章,事件类也可以通过progID但我在 reg 表中没有找到任何内容

在 C# 中,我认为可以创建一个IRTDUpdateEvent. 但我不知道如何用 Python 处理它。

有人可以帮我解决这些错误吗?

0 投票
3 回答
7537 浏览

python - 与某些应用程序挂钩时,pythoncom 在 KeyDown 上崩溃

我写了这段代码来观察按键动作的事件。问题似乎是当这个脚本运行时,某些程序会崩溃这个程序,吐出这个错误信息:

观察到崩溃的一些程序是:Skype、Sublime Text 2

经过几次调试试验后,问题似乎出现在最后一行,但我似乎无法缩小范围。我也不明白编译器返回的 KeyboardSwitch() 的含义......

我还发现该程序会交替返回此错误消息

是什么原因以及如何解决这个问题,特别是因为它只出现在 2 个按键中的 1 个被按下的情况下

PS 作为一个初学者,我对pythoncom的功能不是很熟悉,网上的定义也比较模糊。非常感谢对 pythoncom 和 PumpMessages 功能的解释。

谢谢

0 投票
0 回答
931 浏览

python - 为什么我的小键盘记录器没有发送一些电子邮件?

我写了一个简单的键盘记录器,每按下 500 个键就发送一封电子邮件。及其工作。但这并不可靠,有时会发送电子邮件,但有时不会。可以说,我按一个键 1500 次,这应该是 3 封邮件,记录了 500 个键。但是我可以收到三封电子邮件,两封,一封或零封……取决于失败的原因……看看这段代码,你能说出为什么吗?

0 投票
1 回答
10470 浏览

python - Python - pythoncom.PumpMessages()

我很惊讶地发现没有很多关于函数pythoncom.PumpMessages()pythoncom模块的解释文档。

那么做什么pythoncom.PumpMessages()pythoncom.PumpWaitingMessages()做什么以及如何做?我真正知道的只是用于捕获来自输入设备的事件。

0 投票
1 回答
180 浏览

python - 需要帮助来解决 Anaconda Python 2.7 x32 的问题

我已经安装了 Anakonda Python 2.7 x32 包,现在不能使用 native pythoncom-library。

已安装的 3rd 方库的完整列表:

  • PySide
  • ftputil
  • ruamel.yaml/PyYAML
  • PyPDF
  • 简单的json
  • PyInstaller
  • sqlparse
  • 填充
  • wmi

此处的错误详细信息:

0 投票
1 回答
683 浏览

python - 谷歌浏览器的 Python 键盘记录器

我在 python 中创建了一个简单的键盘记录器,但我希望它仅在 Google Chrome 是前台应用程序时运行(我的意思是只有当用户在 Google Chrome 中时,键盘记录器才会 Hook。如果用户离开 Chrome,键盘记录器将停止等等。)它在用户第一次进入 Chrome 时完美运行,但是如果前台应用程序已切换到另一个,键盘记录器会继续。我发现问题出在这一行:pythoncom.Pupmessages()。在这一行之后代码永远不会继续。有人有解决方案吗?

0 投票
0 回答
307 浏览

python - pywintypes.com_error 使用 mlab

我想使用 mlab 从 python 调用 matlab。当我执行以下操作时

我收到以下错误:

最后显示的错误用德语表示“未调用 CoInitialize”。我不知道该怎么做。任何追踪错误的帮助将不胜感激。

编辑:我在 Windows 7 64 位上安装了 MATLAB R2012a 64 位。

0 投票
2 回答
237 浏览

python - 我的脚本没有删除最后一个字符

我有一个很长的脚本,所以我会总结一下。

LOG_TEXT是存储所有字符的地方,数据通过击键到达那里,因此每次用户在键盘上键入一个键时,它都会转到LOG_TEXT.

最终,LOG_TEXT20 秒后保存在 log.txt 中。

我的问题是,当我单击 Back space 时,它​​不会删除最后一个字符。

这是我一直在尝试的:

并且还尝试过:

和:

任何解决方案/建议?

感谢帮助者:)

0 投票
1 回答
4485 浏览

python - 如何将参数传递给 win32com 事件处理程序

下面的代码工作正常。我找不到将一些参数传递给EventHandler或调用MainClassfrom的方法的方法EventHandler。例如,我不想使用 constant param,而是想通过构造函数或 setter 方法传递它。我已经尝试过这里的建议。但在这种情况下EventHandler,实例不会捕获任何事件(或者至少在标准输出中没有出现任何事件)。

0 投票
1 回答
489 浏览

python-3.x - Py2EXE编译pyhook二进制错误

我正在使用 pyhook 和 pythoncom 编译一些 python 脚本。在从 pyHook.cpyHook 通知缺少名为 _cpyHook 的模块后,构建成功。当我启动 .exe 文件时,它会返回此导入错误。

我已经用谷歌搜索并尝试了这些解决方案,例如

  1. 将 pyHook._cpyHook.pyd 重命名为 _cpyHook.pyd
  2. 将 _cpyHook.pyd 和 cpyHook.py 从 site-packages\pyHook 复制粘贴到 site-packages。

这些都不适合我。