python win32学习

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 string
        if 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.register
    win32com.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对象调用

猜你喜欢

转载自blog.csdn.net/sf131097/article/details/82118959
今日推荐