可能吗?
符合以下条件的东西:
import win32com.client
ProgID = "someProgramID"
com_object = win32com.client.Dispatch(ProgID)
for methods in com_object:
print methods
我得到了com_object.__dict__
,其中列出:
[_oleobj_, _lazydata_, _olerepr_, _unicode_to_string_, _enum_, _username_, _mapCachedItems_, _builtMethods_]
大部分为空,除了:
_oleobj_
(PyIDispatch)_lazydata_
(PyITypeInfo)_olerepr_
(LazyDispatchItem实例)_username_
(<unknown>
)但是我不知道如何访问这些类型的任何东西。
刚刚找到如何获得大多数方法:
就是这样:
import win32com.client
import pythoncom
ProgID = "someProgramID"
com_object = win32com.client.Dispatch(ProgID)
for key in dir(com_object):
method = getattr(com_object,key)
if str(type(method)) == "<type 'instance'>":
print key
for sub_method in dir(method):
if not sub_method.startswith("_") and not "clsid" in sub_method.lower():
print "\t"+sub_method
else:
print "\t",method
这是一个示例输出 ProgID = "Foobar2000.Application.0.7"
输出:
Playlists
Add
GetSortedTracks
GetTracks
Item
Load
Move
Remove
Save
Name
foobar2000 v1.1.13
ApplicationPath
C:\Program Files (x86)\foobar2000\foobar2000.exe
MediaLibrary
GetSortedTracks
GetTracks
Rescan
Minimized
True
Playback
FormatTitle
FormatTitleEx
Next
Pause
Previous
Random
Seek
SeekRelative
Start
Stop
ProfilePath
file://C:\Users\user\AppData\Roaming\foobar2000
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句