当前位置: 代码迷 >> 综合 >> python win32学习
  详细解决方案

python win32学习

热度:97   发布时间:2024-01-21 03:43:30.0

COM是Microsoft的一项技术,它允许对象进行通信,而无需任何对象知道
有关对方的任何细节,甚至是其实施的语言。

# SimpleCOMServer.py - A sample COM server - almost as small as they come!
#
# We expose a single method in a Python COM object.
class PythonUtilities:_public_methods_ = [ 'SplitString' ]_reg_progid_ = "PythonDemos.Utilities"# NEVER copy the following ID# Use"print pythoncom.CreateGuid()" to make a new one._reg_clsid_ = "{81101F84-35ED-4CE4-8A06-E530828AA02A}"def SplitString(self, val, item=None):import stringif item != None:item = str(item)return str(val).split(item)# Add code so that when this script is run by# Python.exe,.it self-registers.
if __name__=='__main__':print("Registering COM server…")import win32com.server.registerwin32com.server.register.UseCommandLine(PythonUtilities)

 

import win32com.client as win32
msword = win32.Dispatch('PythonDemos.Utilities')
print(msword.SplitString('i have a pen'))

_public_methods_:暴露接口的列表

_reg_progid_:名称用于创建com对象,比如win32.Dispatch调用

_reg_clsid_:唯一id

SplitSring:暴露的函数,COM传递所有的字符通过Unicode,所以需要str()转化

COM类包括注册的ProgID, CLSID,暴露一个SplitString函数,供com对象调用

  相关解决方案