> I have a DLL that have several interfaces accociated > with a CoClass, but there is one default interface. > > snip from my genpy generated .py file: > ------------------------------ > from win32com.client import CoClassBaseClass > # This CoClass is known by the name > 'BK.BasicEnv.Application.RemoteAPI' > class RemoteAPI(CoClassBaseClass): # A CoClass > CLSID = IID('{5BC25821-4936-4E9E-9ACF-12E12ADDA9CC}') > coclass_sources = [ > ] > coclass_interfaces = [ > I2250Instrument, > IDisposable, > I2250Control, > IRemoteAPI, > IRemoteInfo, > I2250Connect, > _Object, > I2250Archive, > I2250Export, > ] > default_interface = IRemoteAPI > -------------------- > This is the result of usage: > >>> import win32com.client > >>> q = > win32com.client.Dispatch("BK.BasicEnv.Application.RemoteAPI") > >>> q > <win32com.gen_py.Env Programming Interface.IRemoteAPI > instance at 0x15301248>
It should be possible to use win32com.client.CastTo - something like: q = win32com.client.CastTo(a, 'IRemoteAPI') Should work. Otherwise, a 'normal' QI would also work, but obtaining the IID for the interface is a little tricky... Mark _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32