Function Reference

ObjCreate

与えられたクラス名からCOMオブジェクトの参照を作成します。

ObjCreate ( "classname" [, "servername" [,"username", ["password"]]] )

 

パラメータ

classname オブジェクトのクラス。次のフォーマットで指定。
"appname.objectype"
servername [オプション]オブジェクトを取得するリモートコンピュータの名前。
username [オプション]リモートコンピュータでのユーザー名。
"computer\usercode"または"domain\usercode"のフォーマットで指定。
password [オプション]リモートコンピュータでのユーザー名に対応したパスワード。

 

返し値

成功 オブジェクトを返します。
失敗 0を返し、@errorを1に設定します。

 

注意

目的のアプリケーションの新しいインスタンスが欲しい場合、ObjCreate()を使用してください。
既に存在するプロセスに接続したい場合は代わりにObjGet()を使用してください。

全てのコンピュータが同じオブジェクトを持っている訳ではありせん。ObjCreate()呼び出し後、必ずエラーチェックをおこなってください。

リモートコンピュータ上のオブジェクトにアクセスする場合、次の項目が満たされていなければなりません。 - スクリプトが適切な権限で実行されていること。 - リモートコンピュータ上のオブジェクトがDCOM (Distributed COM)をサポートしていること。 - リモートコンピュータが'Remote Registry Service'と'File and Printer sharing'を実行していること。
オブジェクトについてのより詳しい説明についてはObj/COM Referenceを参照してください。

 

関連

GUICtrlCreateObj, IsObj, ObjEvent, ObjGet, ObjName

 


; 例 1
;
; 開いているシェルウィンドウの数をかぞえる。

$oShell = ObjCreate("shell.application")    ; ウィンドウシェルオブジェクトを取得
$oShellWindows=$oShell.windows          ; 開いているシェルウィンドウのコレクションを取得

if Isobj($oShellWindows) then

  $string=""                    ; 表示用文字列

  for $Window in $oShellWindows         ; 存在する全てのシェルウィンドウをかぞえる
    $String = $String & $Window.LocationName & @CRLF
  next

  Msgbox(0,"Shell Windows","You have the following shell windows:" & @CRLF & @CRLF & $String);

endif
exit


; 例 2
;
; リモートコンピュータ上のメディアプレイヤーを開く
$oRemoteMedia = ObjCreate("MediaPlayer.MediaPlayer.1","name-of-remote-computer")

If not @error then
    Msgbox(0,"Remote ObjCreate Test","ObjCreate() of a remote Mediaplayer Object successful !")
    $oRemoteMedia.Open( @WindowsDir & "\media\Windows XP Startup.wav")      ; ファイルが存在する場合、音声を再生する
Else
    Msgbox(0,"Remote ObjCreate Test","Failed to open remote Object. Error code: " & hex(@error,8))
Endif