ComObjGet() [AHK_L 53+]

返回由 COM 组件提供的对象引用.

ComObject := ComObjGet(Name)

参数

Name

需要获取的对象的显示名称. 请参阅 MkParseDisplayName (MSDN) 了解更多信息.

备注

失败时, 函数可能会抛出异常, 退出脚本或返回空字符串, 具体取决于当前的 ComObjError() 设置和其他因素.

ComObjCreate(), ComObjActive(), ComObjConnect(), ComObjError(), ComObjQuery(), CoGetObject (MSDN)

示例

按下 Shift+Esc 来显示活动窗口进程的命令行. 需要 XP 或更高版本.

+Esc::
    WinGet pid, PID, A
    ; 获取 WMI 服务对象.
    wmi := ComObjGet("winmgmts:")
    ; 执行查询以获取匹配进程.
    queryEnum := wmi.ExecQuery(""
        . "Select * from Win32_Process where ProcessId=" . pid)
        ._NewEnum()
    ; 获取首个匹配进程.
    if queryEnum[proc]
        MsgBox 0, Command line, % proc.CommandLine
    else
        MsgBox Process not found!
      ; 释放所有全局对象(使用局部变量时不需要这么做).
    wmi := queryEnum := proc := ""
return
; Win32_Process: http://msdn.microsoft.com/en-us/library/aa394372.aspx
unixetc