Erzeugt eine Referenz auf ein COM-Object von dem angegebenen Klassennamen.
ObjCreate ( "classname" [, "servername" [, "username" [, "password"]]] )
classname | Die Objekt-Klasse im folgenden Format: "appname.objectype" Auch die String-Repräsentation einer CLSID ist zulässig. |
servername | [optional] Name eines Remote-Computers, von welchem das Objekt erhalten werden soll. |
username | [optional] Name eines UserCode auf dem Remote-Computer Es muss in diesem Format eingegeben werden: "computer\usercode" oder "domain\usercode". |
password | [optional] Passwort für den UserCode auf dem Remote-Computer. |
Erfolg: | Ein Objekt. |
Fehler: | Setzt das @error Flag auf ungleich null. |
Es wird ObjCreate() verwendet, um eine neue Instanz zu der verweisenden Applikation zu erhalten.
Möchte man die Instanz mit einem bereits existierenden Prozess verbinden, ist stattdessen ObjGet() zu benutzen.
Behalten Sie im Sinn, dass nicht alle Computer den gleichen Satz an Objekten haben. Es sollte nach einem Aufruf von ObjCreate() immer auf Fehler geprüft werden. Zur Fehlerüberprüfung verwendet man ObjEvent().
Folgende Voraussetzungen gelten, wenn man auf Objekte von Remote-Computern zugreifen möchte:
GUICtrlCreateObj, IsObj, ObjEvent, ObjGet, ObjName
#include <MsgBoxConstants.au3>
; Zählen der offenen Explorerfenster
Local $oShell = ObjCreate("shell.application") ; Anlegen des Windows Shell Objekts
Local $oShellWindows = $oShell.windows() ; Auslesen der Collection offener Explorerfenster
If IsObj($oShellWindows) Then
Local $sString = "" ; String für die Anzeige
For $oWnd In $oShellWindows ; Zählen aller existierenden Explorerfenster
$sString &= $oWnd.LocationName & @CRLF
Next
MsgBox($MB_SYSTEMMODAL, "", "Explorerfenster" & @CRLF & "Es existieren folgende Explorerfenster:" & @CRLF & @CRLF & $sString)
EndIf
#include <MsgBoxConstants.au3>
; Öffnen des MediaPlayers auf einem REMOTE Computer
Local $oRemoteMedia = ObjCreate("MediaPlayer.MediaPlayer.1", "Name_des_Remote-PC")
If Not @error Then
MsgBox($MB_SYSTEMMODAL, "Remote ObjCreate Test", "ObjCreate() für ein Remote-Mediaplayer Objekt erfolgreich !")
$oRemoteMedia.Open(@WindowsDir & "\media\Windows XP Startup.wav") ; Den Ton abspielen falls die Datei existiert
Else
MsgBox($MB_SYSTEMMODAL, "Remote ObjCreate Test", "Fehler beim Öffnen des Remote-Objekts. Fehlercode: " & Hex(@error, 8))
EndIf