ComObjGet() [AHK_L 53+]

Gibt eine Referenz zu einem Objekt zurück, das von einer COM-Komponente bereitgestellt wird.

ComObject := ComObjGet(Name)

Parameter

Name

Der Anzeigename des Objekts, das abgerufen werden soll. Weitere Informationen finden Sie unter MkParseDisplayName (Microsoft Docs).

Bemerkungen

Bei Misserfolg kann die Funktion eine Ausnahme auslösen, das Skript beenden oder eine leere Zeichenkette zurückgeben, abhängig von der aktuellen ComObjError()-Einstellung und anderen Faktoren.

ComObjCreate(), ComObjActive(), ComObjConnect(), ComObjError(), ComObjQuery(), CoGetObject (Microsoft Docs)

Beispiele

Drücken Sie Umschalt+Esc, um die Befehlszeile anzuzeigen, mit der der Prozess des aktiven Fensters gestartet wurde. Benötigt XP oder höher. Für Win32_Process siehe Microsoft Docs.

+Esc::
    WinGet pid, PID, A
    ; WMI-Service-Objekt abrufen.
    wmi := ComObjGet("winmgmts:")
    ; Abfrage ausführen, um alle Prozesse der entsprechenden PID abzurufen.
    queryEnum := wmi.ExecQuery(""
        . "Select * from Win32_Process where ProcessId=" . pid)
        ._NewEnum()
    ; Ersten gefundenen Prozess abrufen.
    if queryEnum[proc]
        MsgBox 0, Befehlszeile, % proc.CommandLine
    else
        MsgBox Prozess nicht gefunden!
    ; Alle globalen Objekte freigeben (unnötig bei lokalen Variablen).
    wmi := queryEnum := proc := ""
return