Erstellt ein COM-Objekt.
ComObj := ComObject(CLSID , IID)
ComObject
selbst ist eine Klasse, die von ComValue
abgeleitet ist, aber nur zum Erstellen oder Identifizieren von COM-Objekten verwendet wird.
Typ: Zeichenkette
CLSID oder eine visuell lesbare ProgID des COM-Objekts.
Typ: Zeichenkette
Wenn weggelassen, wird standardmäßig "{00020400-0000-0000-C000-000000000046}"
(IID_IDispatch) verwendet. Andernfalls geben Sie den Identifikator eines Interfaces an, das zurückgegeben werden soll. In den meisten Fällen wird dies weggelassen.
Typ: Objekt
Diese Funktion gibt ein COM-Wrapper-Objekt zurück, dessen Typ vom IID-Parameter abhängt.
IID | Klasse | Variantentyp | Beschreibung |
---|---|---|---|
IID_IDispatch | ComObject |
VT_DISPATCH (9) | Erlaubt dem Skript, Eigenschaften und Methoden des Objekts mit normaler Objektsyntax aufzurufen. |
Andere IID | ComValue |
VT_UNKNOWN (13) | Stellt nur eine Ptr -Eigenschaft bereit, mit der das Objekt an DllCall oder ComCall übergeben werden kann. |
Bei Misserfolg wird eine Ausnahme ausgelöst, z.B. wenn ein Parameter ungültig ist oder das Objekt nicht das angegebene Interface in IID unterstützt.
ComValue, ComObjGet, ComObjActive, ComObjConnect, ComObjArray, ComObjQuery, ComCall, CreateObject (Microsoft Docs)
Eine lange Liste von v1.1-Beispielen finden Sie in diesem archivierten Forumsthread.
Startet eine Instanz des Internet Explorers, macht ihn sichtbar und navigiert zu einer Webseite.
ie := ComObject("InternetExplorer.Application") ie.Visible := true ; Funktioniert nicht korrekt unter IE7. ie.Navigate("https://www.autohotkey.com/")
Ruft den Pfad des aktuellen Hintergrundbildes (Wallpaper) auf dem Desktop ab.
AD_GETWP_BMP := 0 AD_GETWP_LAST_APPLIED := 0x00000002 CLSID_ActiveDesktop := "{75048700-EF1F-11D0-9888-006097DEACF9}" IID_IActiveDesktop := "{F490EB00-1240-11D1-9888-006097DEACF9}" cchWallpaper := 260 GetWallpaper := 4 AD := ComObject(CLSID_ActiveDesktop, IID_IActiveDesktop) wszWallpaper := Buffer(cchWallpaper * 2) ComCall(GetWallpaper, AD, "ptr", wszWallpaper, "uint", cchWallpaper, "uint", AD_GETWP_LAST_APPLIED) Wallpaper := StrGet(wszWallpaper, "UTF-16") MsgBox "Wallpaper: " Wallpaper