gpt4 book ai didi

python - 使用 TLB 定义的接口(interface)与 Python 和 COM

转载 作者:太空狗 更新时间:2023-10-30 01:03:15 26 4
gpt4 key购买 nike

我会尽量保持这个问题的紧凑性,但如果看起来我在说一些疯狂的话,那几乎可以肯定是因为我对某些关键点一无所知,所以请纠正我。


我正在 Windows 环境中编写一个程序,它将与具有 COM 接口(interface)的现有应用程序交互,以允许第 3 方软件与其交互。

我已经阅读了该应用程序的所有文档,它说有一个 TLB 文件定义了通过 COM 可用的函数和数据。

我如何在 python 中使用 TLB 文件?我如何发现应用程序的 progID 以便我可以与其交互(文档中未给出)。

我很迷茫。我有相当多的 Python 经验,但我对在 Windows 环境中进行开发完全陌生。任何帮助都会非常有帮助。我一直在阅读 win32com 上的所有文档,但我仍然不知道该怎么做,因为据我所知,没有人解决引入 TLB 文件的问题。

最佳答案

问题是将自定义 TLB 文件与要在 python 中开发的 COM 客户端链接。我为用 C# 开发的 COM 服务器做了一个小示例代码,python 客户端使用“comtypes”包访问相同的示例代码。下面的代码片段给出了:

    import comtypes.client as CC
import comtypes

ccHandle = CC.CreateObject("CSharpServer.InterfaceImplementation")
print (ccHandle)
import comtypes.gen.CSharpServer as CS
InterfaceHandle = ccHandle.QueryInterface(CS.IManagedInterface)

print ("output of PrintHi function = ", InterfaceHandle.PrintHi("World"))

以上 python 脚本适用于 http://msdn.microsoft.com/en-us/library/aa645738(v=vs.71).aspx 处的 C# COM 服务器代码(引用文件1:CSharpServer.cs)。

关于python - 使用 TLB 定义的接口(interface)与 Python 和 COM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10179309/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com