![61a7c9943226444caae1639a94398359.png](https://img-blog.csdnimg.cn/img_convert/61a7c9943226444caae1639a94398359.png)
因为VB6提供了非常方便的“所见即所得”的界面方法,Python有强大的编程功能。
所以我们就使用COM组件,让VB6的界面与Python的功能联系在一起。
书上说:COM组件服务是提供一种独立于平台与编程语言之外的,共享二进制代码的方法。
翻译成人话:COM组件可以让不同的编程语言之间互相通信,至于它们之间说英语还是法语,我们现在不用关心。
先给大家两小段基本的代码,先理解原理,其它的就好办了。
1、先用Python注册COM服务,并在Python服务中写一个最简单的加法函数。
# coding=UTF8
import pythoncom
class PythonDemo:
_public_methods_ = ['Test']
_reg_progid_ = 'Demos'
_reg_clsid_ = pythoncom.CreateGuid()
def Test(self, val, val2):
val = val + val2
return val
if __name__ == '__main__':
import win32com.server.register
print('启动COM服务.')
win32com.server.register.UseCommandLine(PythonDemo)
2、到VB6中设计一个简单的界面,写几行代码。
![d719a631d5aa114d56941ccf25dceab8.png](https://img-blog.csdnimg.cn/img_convert/d719a631d5aa114d56941ccf25dceab8.png)
Private Sub Command1_Click()
Set PythonUtils = CreateObject("Demos")
response = PythonUtils.Test(a, b)
a = Val(Text1.Text)
b = Val(Text2.Text)
Print response
End Sub
3、先运行Python代码,然后WINDOWS要多管闲事的问一下,这个程序你让不让他运行。
![f6bcbd93244225a33342de07d592831a.png](https://img-blog.csdnimg.cn/img_convert/f6bcbd93244225a33342de07d592831a.png)
点“是”就可以启动COM组件服务,再到VB6中调用即可。
![1e63eeb336752ab93a01540d41b567ef.png](https://img-blog.csdnimg.cn/img_convert/1e63eeb336752ab93a01540d41b567ef.png)
在VB6界面中输入1和2,在Python中计算加法,VB6中打印出结果。
很厉害吧!