我在Python 2.7中创建了一个COM服务器(使用pythoncom),并希望从C ++代码中调用它,但我不知道如何。
Python COM服务器:
import pythoncom
class PyCOMTest:
_public_methods_ = ['getNextNum']
_reg_progid_ = "<some progid>"
_reg_clsid_ = "{<some hash string>}"
_reg_clsctx_ = pythoncom.CLSCTX_LOCAL_SERVER
numbb = 0
def __init__(self):
self.num = 0
def getNextNum(self):
print "method called"
PyCOMTest.numbb = PyCOMTest.numbb + 1
return PyCOMTest.numbb
if __name__ == '__main__':
print "Registering COM server..."
import win32com.server.register
win32com.server.register.UseCommandLine(PyCOMTest)
我能够使用Python编写的客户端和VBScript中的另一个客户端调用COM服务器。
我知道C ++需要一个扩展IUnknown的接口来调用CoCreateInstance和QueryInterface,但我希望COM服务器完全使用Python。
有什么想法吗?