Board logo

标题: [文件操作] cominfo - 查看 COM 组件的接口及其参数类型 [打印本页]

作者: tmplinshi    时间: 2015-10-25 17:53     标题: cominfo - 查看 COM 组件的接口及其参数类型

本帖最后由 tmplinshi 于 2015-10-25 17:57 编辑

cominfo 使用 aardio 语言(原名AAuto/快手)编写的。代码不是我写的,我只是把 aardio 自带的示例代码改成了命令行工具而已。

cominfo 源码:(修改自 aardio\example\组件对象\输出com对象成员.aau
  1. import com;
  2. import console;
  3. if !(#_ARGV) or (_ARGV[1]="/?") {
  4. console.log("Usage: " + io._exefile + " CLSID", "" );
  5. return ;
  6. }
  7. console.open();
  8. obj = com.CreateObject(_ARGV[1]);
  9. com.DumpTypeInfo(obj)
复制代码
cominfo 下载地址: http://pan.baidu.com/s/1qW7VRnY

========================================

用法: comInfo.exe CLSID
示例:
C:\>cominfo Msxml2.XMLHTTP

Interface:  {ED8C108D-4349-11D2-91A4-00C04F7969E8}

ID:0x60000000: QueryInterface(pointer, pointer&)
ID:0x60000001: AddRef()
ID:0x60000002: Release()
ID:0x60010000: GetTypeInfoCount(pointer&)
ID:0x60010001: GetTypeInfo(INT, INT, pointer&)
ID:0x60010002: GetIDsOfNames(pointer, pointer, INT, INT, pointer&)
ID:0x60010003: Invoke(int, pointer, INT, WROD, pointer, pointer&, pointer&, pointer&)
ID:0x1: open(string, string, pointer/*com.VARIANT*/, pointer/*com.VARIANT*/, pointer/*com.VARIANT*/)
ID:0x2: setRequestHeader(string, string)
ID:0x3: getResponseHeader(string)
ID:0x4: getAllResponseHeaders()
ID:0x5: send(pointer/*com.VARIANT*/)
ID:0x6: abort()
ID:0x7: status _get
ID:0x8: statusText _get
ID:0x9: responseXML _get
ID:0xA: responseText _get
ID:0xB: responseBody _get
ID:0xC: responseStream _get
ID:0xD: readyState _get
ID:0xE: onreadystatechange(struct/*IDispatch Object*/)

作者: CrLf    时间: 2015-10-25 22:30

好东西!
题外话,更详细的内容可以使用 TLI.TLIApplication 组件查询




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2