COM オブジェクトを作成します。
ComObj := ComObject(CLSID , IID)
ComObject自体はComValueから派生したクラスですが、COMオブジェクトの作成または識別にのみ使用されます。
型:文字列
作成する COM オブジェクトの CLSID または人間が読める Prog ID。
型:文字列
If omitted, it defaults to "{00020400-0000-0000-C000-000000000046}" (IID_IDispatch). Otherwise, specify the identifier of the interface to return. ほとんどの場合、これは省略されます。
型:オブジェクト
この関数は、IIDパラメータに依存するタイプのCOMラッパーオブジェクトを返します。
| IID | クラス | バリアント型 | 説明 |
|---|---|---|---|
| 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)
For a long list of v1.1 examples, see this archived forum thread.
Internet Explorerのインスタンスを起動し、表示させ、Webサイトへ移動することができます。
ie := ComObject("InternetExplorer.Application")
ie.Visible := true ; IE7では正しく動作しないことが確認されています。
ie.Navigate("https://www.autohotkey.com/")
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