列出COMobject中的所有方法

罗德里格斯

可能吗?

符合以下条件的东西:

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

列出COMobject中的所有方法

来自分类Dev

如何以编程方式在 Ruby 中列出 Array 的所有方法?

来自分类Dev

PHP,解析特定命名空间的所有类,并列出这些类的所有方法

来自分类Dev

如何列出一个类的所有方法(不是扩展方法和包含方法)

来自分类Dev

如何列出一个类的所有字段(没有方法)?

来自分类Dev

委托所有方法

来自分类Dev

获取所有方法

来自分类Dev

Zend2列出给定类的所有方法

来自分类Dev

获取我自己的模块中定义的所有方法

来自分类Dev

在CakePHP中清除SQL的所有方法

来自分类Dev

使GET变量在所有方法中均可用

来自分类Dev

在类C#中运行所有方法

来自分类Dev

以编程方式调用Java类中的所有方法

来自分类Dev

如何避免激活类中的所有方法?

来自分类Dev

如何折叠 Embarcadero Delphi IDE 中的所有方法?

来自分类Dev

PHP:遍历所有对象方法(调用对象中的所有方法)

来自分类Dev

在 Laravel 中所有控制器的所有方法中传递对象

来自分类Dev

强制所有方法抛出异常

来自分类Dev

缓存所有方法的结果

来自分类Dev

GreenDao异步加载所有方法

来自分类Dev

如何获取类型的所有方法

来自分类Dev

GreenDao异步加载所有方法

来自分类Dev

Jar忽略所有方法

来自分类Dev

锁定所有方法的用法

来自分类Dev

调用原型的所有方法?

来自分类Dev

跟踪所有方法方面

来自分类Dev

如何在Ruby中显示没有祖先方法的类的所有方法?

来自分类Dev

如何在Ruby中显示没有祖先方法的类的所有方法?

来自分类Dev

如何显示在 Eclipse Java 中的特定方法中调用的所有方法?