ComObject

COM オブジェクトを作成します。

ComObj := ComObject(CLSID , IID)

ComObject自体はComValueから派生したクラスですが、COMオブジェクトの作成または識別にのみ使用されます。

パラメータ

CLSID

型:文字列

作成する COM オブジェクトの CLSID または人間が読める Prog ID。

IID

型:文字列

If omitted, it defaults to "{00020400-0000-0000-C000-000000000046}" (IID_IDispatch). Otherwise, specify the identifier of the interface to return. In most cases this is omitted.

戻り値

型:Object

この関数は、IIDパラメータに依存するタイプのCOMラッパーオブジェクトを返します。

IIDClassVariant Type説明
IID_IDispatch ComObject VT_DISPATCH (9) 通常のオブジェクトの構文を使用して、スクリプトがオブジェクトのプロパティやメソッドを呼び出せるようにします。
その他のIID ComValue VT_UNKNOWN (13) Ptrプロパティのみを提供し、DllCallまたはComCallにオブジェクトを渡すことができます。

エラー処理

パラメータが無効であったり、オブジェクトがIIDで指定されたインタフェースをサポートしていない場合など、失敗した場合は例外がスローされます。

ComValue, ComObjGet, ComObjActive, ComObjConnect, ComObjArray, ComObjQuery, ComCall, CreateObject (Microsoft Docs)

長い例のリストは、次のフォーラムのトピックを参照してください。https://www.autohotkey.com/forum/topic61509.html.

Internet Explorerのインスタンスを起動し、表示させ、Webサイトへ移動することができます。

ie := ComObject("InternetExplorer.Application")
ie.Visible := true  ; IE7では正しく動作しないことが確認されています。
ie.Navigate("https://www.autohotkey.com/")

Retrieves the path of the desktop's current wallpaper.

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