【发布时间】:2014-10-05 10:59:13
【问题描述】:
我有一个 DLL,它是用于 Pastel Partner 会计系统的 SDK。使用 Dependency Walker 我可以看到 DLL 有以下方法:DllRegisterServer、DllUnregisterServer、DllGetClassObject
随着库的出现,一个示例 VB 程序引用了 DLL 并将其实例化,如下所示:
Dim SDK As New PasSDK.PastelPartnerSDK
我能够在 python 中使用这个库的唯一方法是在 Windows 中注册它:
regsvr32 PasSDK.dll
然后像这样在python中使用它:
import win32com.client
sdk = win32com.client.Dispatch("PasSDK.PastelPartnerSDK")
sdk.SetLicense(...)
etc...
但是,有没有办法直接使用这个库而无需先注册呢?比如:
from ctypes import *
sdk = cdll.LoadLibrary('PasSDK.dll')
当我这样做时,我可以看到 sdk.DllGetClassObject 是一个函数,但是我如何像 VB 程序一样实例化它,可以吗?
【问题讨论】: