Funktionreferenz


ObjCreate

Beschreibung anzeigen in

Erzeugt eine Referenz auf ein COM-Object von dem angegebenen Klassennamen.

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

Parameter

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.

Rückgabewert

Erfolg: Ein Objekt.
Fehler: Setzt das @error Flag auf ungleich null.

Bemerkungen

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:



Siehe die Obj/COM Referenz für mehr Informationen über Objekte.

Verwandte Funktionen

GUICtrlCreateObj, IsObj, ObjEvent, ObjGet, ObjName

Beispiel

Beispiel 1

#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

Beispiel 2

#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