ComObjGet() [AHK_L 53+]

Gibt eine Referenz zu einem Objekt zurück, das von einer COM-Komponente zur Verfügung gestellt wurde.

ComObject := ComObjGet(Name)

Parameter

Name

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

Bemerkungen

Bei Misserfolg wird die Funktion je nach aktueller ComObjError()-Einstellung und anderen Faktoren eventuell eine Ausnahme auslösen, das Skript beenden oder eine leere Zeichenkette zurückgeben.

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. Bezüglich 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