问题标签 [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.
python - 如何使用 ItemAdd 事件监控 Python 中的共享收件箱?
我想用 Python 做一个 Outlook 监视器,并且一直在研究这个话题。
我正在使用 Python 3.6 来尝试监控在我的 Outlook 共享收件箱中收到的电子邮件。我有以下将运行的代码:
当新邮件到达收件箱时,如何触发 OnItemAdd 事件?
python - Spyder 在运行 pythoncom 代码时抛出“assert sys.modules [modname] is not old_mod”
编辑:如果我通过 spyder 运行以下代码两次,它在我第二次运行它时给我一个错误,第一次它总是有效:
这是错误:
当我重新启动内核时,它再次工作。此外,如果我直接使用 python 运行它,它总是可以工作的。
python - Pythoncom 接口转换
我想使用Microsoft 开发环境提供的pythoncom和 COM 对象附加到一个正在运行的 Visual Studio 实例的远程进程。到目前为止,我能够从DTE 对象获取实现Debugger接口的调试器对象。但是,我需要访问调试器的Transports属性。它由Debugger2类实现。所以不知何故,我需要 Debugger2 实例而不是 Debugger。在 VB 或 C++ 中,这可以通过简单的强制转换 ( DTE -> DTE2 ) 来完成。但是如何在 Python 中做到这一点呢?
查询接口
方法以异常结束
TypeError: 没有注册支持此 IID 的接口对象
调用
(我从 Python 对象浏览器中获取了 Transports 属性的 DISPID 1101。)
pywintypes.com_error:(-2147352573,'未找到成员。',无,无)
CastTo也没有帮助,因为错误接口没有出现在与对象相同的库中。 (类似问题)
有什么建议么?
python-3.x - 如何关闭在 Python/pythoncom/comtypes 中打开的 Windows 便携式设备 IStream
我在 python 中使用带有 pythoncom 和 comtypes 的 Windows 便携式设备。
我遇到了麻烦,因为当我请求 WPD_RESOURCE_THUMBNAIL 资源时,一些 android 设备返回一个“方形”缩略图,而原始图像具有 16:9 格式(或 4:3 ...)。
然后我尝试请求 WPD_RESOURCE_DEFAULT 资源以从 EXIF 数据中获取缩略图:因此无需读取整个文件,一旦获得缩略图的 EXIF 标签,我可以停止读取并跳到下一个文件。
我可以从 EXIF 中获取第一个文件的缩略图。在第二个文件上,我卡在 GetStream() 方法上。它只是挂起。我想是因为上一次调用的 IStream 没有关闭/处理。
您对如何强制此 IStream 的 Dispose / Close 有任何想法吗?
这就是我在代码中所做的:
提前感谢您对此的任何建议。
编辑:由于我没有找到其他方法来中断流并释放所有资源,因此我最终读取了 WPD_RESOURCE_DEFAULT 的整个流。它有点慢,但更安全,因为应用程序也在大屏幕上运行,并且使用 EXIF 的缩略图会导致屏幕上的图像质量很差。因此,我决定为此目的读取 WPD_RESOURCE_DEFAULT 的整个流,并在这一点之外的某个地方加速代码。感谢@ShadowRanger 的支持。
python - Pythoncom - 如何收听 Outlook 传出消息?
目前我正在使用下面的代码来收听来自 Python 的 Outlook 中的传入消息。
如何对 Outlook 中的外发邮件执行相同操作?
com - 如何在 pythoncom 中创建多个应用程序实例?
我正在尝试使用 python 启动多个进程,使用 COM 异步处理多个文件(使用 concurrent.futures),但我一次只能启动一个进程。
这是使用 Excel 查看问题的简单方法:
第二个 Excel 进程没有启动(我只看到第一个实例的进程 ID)。有没有办法做到这一点?
python - 导入 pywinauto(或 comtypes)会破坏现有的 COM 对象
win32com.client.GetActiveObject
使用然后import pywintypes
在AttributeError
每次调用原始 COM 对象时创建/获取COM 对象。
重现代码
为什么会发生这种情况,如何解决?
win32com - AttributeError:模块“pythoncom”没有属性“Coinitialize”
我的 IDE 是 Pycharm。为了在新线程中使用win32com.client 。pythoncom.CoInitialize()
在打电话之前,我使用了这里建议的许多人win32com.client.DispatchEx()
。但我收到以下错误。
据我了解,这是因为 pythoncom 是 C 扩展。我怎样才能使代码运行良好。
python - (Excel) 访问 CodeModule 时 VBA 崩溃
我正在尝试向 VBA 代码模块插入一些代码,并且在读取 CodeModule 属性时 excel 崩溃。这是python中的示例代码:
错误应用程序名称:EXCEL.EXE,版本:16.0.11231.20174,时间戳:0x5c5e3867
错误模块名称:combase.dll,版本:10.0.14393.2791,时间戳:0x5c5a43d3
异常代码:0xc0000005
操作系统:Windows Server 2016 Standard,最新
这不是 pywin32 特定的问题,我已经对此进行了测试。我也试过 x86 和 x64 办公版本,都崩溃了。有趣的是,excel com 对象仍然存在,我仍然能够操作它并保存文件。但是 VBProject 是空的。
任何想法在哪里挖掘?
python-3.x - 如何释放 PyIPropertyStore 实例以允许 os.rename
我正在尝试使用python获取文件的媒体创建日期时间,参考这个问题,Python - 如何读取Windows“媒体创建”日期(不是文件创建日期),我已经成功地从答案中获得了媒体创建日期时间由https://stackoverflow.com/users/205580/eryksun提供
但是,后面的操作是 os.rename(file_i_got_media_created_datetime_from, destination_path),它不会执行,不会显示错误。几个小时后我发现这可能是因为 properties = propsys.SHGetPropertyStoreFromParsingName(filepath) 仍然持有对该文件的引用,因此 os.rename 在没有释放该引用的情况下无法继续重命名。
我想知道如何释放该文件的引用/指针,以便释放它以供 os.rename 完成其工作。
顺便说一句,我在 pythoncom 上进行了广泛的搜索,但对如何执行此操作一无所知,文档并不清晰,lib 上的教程也不多。
编辑:我使用 del 关键字删除了删除引用的变量属性并且它起作用了。