# Python Modular COM Components **Repository Path**: germ/PythonActiveX ## Basic Information - **Project Name**: Python Modular COM Components - **Description**: Python 编写的模块化 ActiveX 组件。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-16 - **Last Updated**: 2022-08-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python Modular COM Components #### 介绍 Python 编写的模块化 ActiveX 组件。 #### 安装教程 需要支持库:pywin32 安装支持库:pip install 支持库名称 组件注册命令:python ActiveX.py --register 组件注销命令:python ActiveX.py --unregister #### 使用说明 1. ActiveX.py 为接入文件,编写模块放在modules目录中。 2. ActiveX.py文件中 `Constructor` 类为组件构造类 - 引入模块接口示例: ```Python def 模块名称(self): instance = self.__factory("放入modules目录中的组件文件名称,去后缀")() return win32com.server.util.wrap(instance) ``` - 添加接口后,请在ActiveX.py文件, `Constructor` 类中 `_public_methods_` 属性添加模块名称才能开放给COM使用。 - 模块文件中,类 `Handler` 作为模块的接入类,调用模块将直接使用其中定义的函数与属性。 3. ActiveX.py文件, `Constructor` 类中属性 `_reg_clsctx_` - =CLSCTX_LOCAL_SERVER : 以独立进程运行服务,好处可兼容x86与x64程序,坏处速度稍慢。 - =CLSCTX_INPROC_SERVER : 服务在调用COM进程中运行,好处速度稍快,坏处python必须与调用程序属于同一架构。 #### 相关文档 1. pywin32 COM文档:https://mhammond.github.io/pywin32/html/com/win32com/HTML/docindex.html 2. 微软COM文档:https://docs.microsoft.com/en-us/previous-versions/windows/embedded/ms885879(v=msdn.10)