我有一个DLL,它是一个用于Pastel合作伙伴会计系统的SDK。使用Dependency Walker我可以看到DLL有以下方法:DllRegisterServer、DllUnregisterServer、DllGetClassObject
有了这个库,有一个示例VB程序,它引用了DLL并将其实例化如下:
Dim SDK As New PasSDK.PastelPartnerSDK
我能够使用python中的这个库的唯一方法是在Windows中注册它:
^{pr2}$然后在python中像这样使用它:
import win32com.client
sdk = win32com.client.Dispatch("PasSDK.PastelPartnerSDK")
sdk.SetLicense(...)
etc...
但是,有没有办法不先注册就直接使用这个库?比如:
from ctypes import *
sdk = cdll.LoadLibrary('PasSDK.dll')
当我这样做的时候我能看到sdk.DllGetClassObject是一个函数,但我如何像VB程序一样实例化它,有可能吗?在
不管你用什么语言,你都会发现同样的问题。也就是说,在VB中,还必须注册组件。在
但是,您可以为此使用registration free COM。为EXE创建一个清单(例如。python.exe或应用程序的EXE名称),它依赖于声明其提供的类、接口和/或类型库的清单。在
相关问题 更多 >
编程相关推荐