Page 1 sur 1

[Tuto] Les objets (Objcreate et compagnie)

Posté : dim. 11 avr. 2010 12:24
par SagePourpre
Premièrement, si vous voulez vous intéresser aux objets et à leurs nombreuses
possibilités, vous aurez besoin d'un programme pour voir les fonctions relative aux objets.

Je vais chercher pour un programme gratuit équivalent mais en attendant, voici le lien
vers un "shareware" de 30 jours pour parcourir les objets et voir leur fonctions

COM Object browser ( shareware )
Page de téléchargement
Lien direct


Tutorial à venir
(Je vais rajouter quelques informations au fur et à mesure que j'en apprend sur le sujet





Voici un petit exemple que j'ai bidouillé :

Code : Tout sélectionner

#include <Array.au3>
$oMessenger = ObjCreate("Messenger.UIAutomation.1")
If Not IsObj($oMessenger) Then
MsgBox(0,"Debug","Objection Creation Fail")
Exit
Else
    $MessengerStatus = $oMessenger.MyStatus
    ;ConsoleWrite($MessengerStatus & @CRLF)
    Dim $status[4][2] = _
    [[2,"En Ligne"], _
    [10,"Occupé"], _
    [34,"Absent"], _
    [6,"Hors-Ligne"]]
    $index =_ArraySearch($status,$MessengerStatus,0,0,0,0,0,0)
    If Not @error Then ConsoleWrite("Statut WLM : " & $status[$index][1] & @CRLF)

    EndIf
 
Comment suis-je parvenu à ce résultat ?

En ouvrant le petit programme proposé en lien, vous devriez voir apparaître beaucoup d'objets
de type COM.

En recherchant tout d'abord pour "windows live messenger" ( sans succès ) puis tout simplement "Messenger",
je suis tombé sur quelques résultats dont "Messenger.UIAutomation.1".

En cliquant sur le résultat, on peut voir pleins de fonctions pouvant être utilisé avec cet objet, comme
par exemple "MyStatus", qui retourne un chiffre correspondant à votre status correspondant.

Tadam ! (Testé avec la version Build 14.0.8089.726)

Re: [Tuto] Les objets (Objcreate et compagnie)

Posté : dim. 11 avr. 2010 20:23
par SagePourpre
Voici un deuxième exemple créé en observant les fonctions de
l'objet shockwave de flash et en utilisant google pour trouver
la documentation relative à l'objet en question.

Code : Tout sélectionner

Func GUICtrlCreateFlash($url,$x,$y,$w,$h,$scalemode = 0,$bgcolor ="#000000",$menu = 0)
    Local $oFlash = ObjCreate("ShockwaveFlash.ShockwaveFlash")
    ;If @error Then Return SetError(1,0,-1)
GUICtrlCreateObj($oFlash,$x,$y,$w,$h)


;Set up COM error handling
;$oMyError = ObjEvent("AutoIt.Error","COMErrFunc")
;Initialize the Flash ActiveX
; Paramètres possibles
; http://kb2.adobe.com/cps/127/tn_12701.html
With $oFlash; Object tag pool
    .Movie = FileGetShortName($url)
    .ScaleMode = $scalemode; 0 showall, 1 noborder, 2 exactFit, 3 noscale
    .bgcolor = $bgcolor
    .Loop = False
    .wmode = "transparent"; Opaque / transparent
    .allowScriptAccess = "Always"
    .menu = $menu  ; 0 = False , 1 = True

EndWith
EndFunc
 

Re: [Tuto] Les objets (Objcreate et compagnie)

Posté : mar. 20 avr. 2010 14:14
par Habibsbib
Bel effort :)
Je suis en train de rédiger un Big-Tuto sur le sujet pour le SDZ.

Re: [Tuto] Les objets (Objcreate et compagnie)

Posté : mar. 20 avr. 2010 16:28
par SagePourpre
@Habibsbib

Tu feras signe ici quand ça sera fait...
Je suis avide de toutes les ressources sur le sujet.
( C'est parce que je n'en ai pas trouvé d'ailleurs que j'ai mis en place ce sujet )


@Tout le monde
Voici un Udf offrant une meilleure gestion des objets avec autoit. Auoit Objects UDF
Il y'a une dizaine d'exemples de fournis. En contrepartie, son utilisation semble beaucoup plus compliquée.

Re: [Tuto] Les objets (Objcreate et compagnie)

Posté : mer. 18 avr. 2012 21:25
par Uranium
J'espère pas embêter mon petit monde en faisant remonter se sujet :oops: de 2010 mais il est vraiment intéressant mais tu as mis sa.
En cliquant sur le résultat, on peut voir pleins de fonctions pouvant être utilisé avec cet objet, comme
par exemple "MyStatus", qui retourne un chiffre correspondant à votre status correspondant.
Comment tu l'as su qu'il retournais un chiffre correspondant à notre status car ton programme ne donne pas plus que 'MyStatus'

Re: [Tuto] Les objets (Objcreate et compagnie)

Posté : dim. 22 avr. 2012 11:20
par lesolutionneur
Pourquoi ne pas utiliser le visionneur de COM officiel ?

http://www.microsoft.com/download/en/de ... en&id=7007

EDIT: bon peut-être est-ce à cause de l'interface qui est moche et le fait qu'on ne puisse pas rechercher d'interface COM :P

Re: [Tuto] Les objets (Objcreate et compagnie)

Posté : dim. 22 avr. 2012 17:08
par Uranium
La visionneuse de COM officiel est vraiment nulle par apport à l'autre , on trouve rien dessus.
Pourtant ça à l'air rangé à la façon Windows :P

Merci quand même , lesolutionneur.
Si quelqu'un trouve un visionneur de Com/Objet pourrait m’envoyer le lien svp car je cherche mais trouve pas grand chose de bon