Functions > ObjCOM >


ObjCreate

Crée une référence à un objet COM à partir d'un nom de classe donné.

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

Paramètres

classname Le nom de la classe de l'objet dans le format suivant : "appname.objectype"
Ou aussi, une représentation chaîne du CLSID.
servername [optionnel] Nom d'un ordinateur distant à partir duquel l'objet doit être obtenu.
username [optionnel] Code utilisateur sur l'ordinateur distant.
Vous devez entrer ce code dans le format "ordinateur\usercode" ou "domaine\usercode".
password [optionnel] Mot de passe pour le code utilisateur sur l'ordinateur distant.

Valeur de retour

Succès: Retourne l'objet.
Échec: Définit @error <> 0.

Remarques

Utilisez ObjCreate() si vous voulez avoir une nouvelle instance de l'application référencé.
Si vous souhaitez vous connecter à un processus existant, utilisez à la place ObjGet().

Gardez à l'esprit que tous les ordinateurs ont le même ensemble d'Objets. Donc testez toujours les erreurs après un appel de ObjCreate(). Pour tester les erreurs utilisez ObjEvent() .

Les conditions suivantes s'appliquent si vous voulez accéder à des objets sur des ordinateurs distants:

Consultez Référence Obj/COM pour plus d'informations sur les objets.

En relation

GUICtrlCreateObj, IsObj, ObjEvent, ObjGet, ObjName

Exemples

Exemple 1

#include <MsgBoxConstants.au3>

; Compte le nombre de fenêtres shell ouvertes

Local $oShell = ObjCreate("shell.application") ; Obtient l'objet Shell Windows
Local $oShellWindows = $oShell.windows ; Obtient la collection de Windows shell ouvertes

If IsObj($oShellWindows) Then
    Local $sString = "" ; Chaîne à afficher

    For $oWnd In $oShellWindows ; Compte toutes les fenêtres shell existantes
        $sString &= $oWnd.LocationName & @CRLF
    Next

    MsgBox($MB_SYSTEMMODAL, "", "Shell Windows:" & @CRLF & "Vous avez les fenêtres Shell suivantes:" & @CRLF & @CRLF & $sString)
EndIf


Exemple 2

#include <MsgBoxConstants.au3>

; Ouvre MediaPlayer sur un ordinateur distant

Local $oRemoteMedia = ObjCreate("MediaPlayer.MediaPlayer.1", "nom-de-ordinateur-distant")

If Not @error Then
    MsgBox($MB_SYSTEMMODAL, "Test ObjCreate Distant", "ObjCreate() de l'objet Mediaplayer distant réussi !")
    $oRemoteMedia.Open(@WindowsDir & "\media\tada.wav") ; Joue un son si le fichier est présent
Else
    MsgBox($MB_SYSTEMMODAL, "Test ObjCreate Distant", "Echec de création de l'objet distant.  Code d'erreur: " & Hex(@error, 8))
EndIf