IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

API de notification de dessin écran ?


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 3
    Par défaut API de notification de dessin écran ?
    Bonjour,

    Je suis développeur Mac depuis quelques années (C, C++, Objective-C), mais je suis novice avec Windows.

    L'application que je souhaite développer (avec wxWidgets) a besoin d'être notifiée de chaque changement écran (dès qu'un pixel a changé).
    Pour MacOSX, il existe un callback qui répond parfaitement à la question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    refreshCallback(CGRectCount count, const CGRect *rectArray, void *param)
    Il suffit de l'enregistrer avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CGRegisterScreenRefreshCallback(refreshCallback, self);
    et c'est fini ! On récupere un tableau de rectangles correspondants aux zones écran qui viennent d'être redessinées.

    Ma question est : existe-t-il une API équivalente sous Windows ?
    Si non, quelle est l'idée globale pour coder cette fonctionnalité ?
    (j'ai regardé les excellents tutoriels, j'ai trouvé un message sur ce forum concernant les HOOKS, mais cela reste très vague...)

    En vous remerciant d'avance

    Michel RENON

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Heu... si tu développes toujours sous WxWidgets, normalement l'API est exactement la même...

    En API Windows par contre, il suffit de traiter le message WM_PAINT (commande de redessiner la fenêtre), et son appel peut être forcé avec InvalidateRect()...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 3
    Par défaut
    Citation Envoyé par Médinoc
    Heu... si tu développes toujours sous WxWidgets, normalement l'API est exactement la même...

    En API Windows par contre, il suffit de traiter le message WM_PAINT (commande de redessiner la fenêtre), et son appel peut être forcé avec InvalidateRect()...
    Apparement, j'ai été imprécis dans ma demande :-(
    Je reformule :
    • L'application doit enregistrer l'écran (ou une partie) pour en faire un film (format Flash avec la librairie Ming) : l'idée est de faire des tutoriels pour par exemple OpenOffice, Firefox...
    • L'application sera distribuée sous licence GPL
    • L'application doit enregistrer tout ce qui peut être dessiné à l'écran (fenetres des autres applications, clignotement du curseur...)
    • j'ai regardé le code de VNC : il est trop ardu pour mes connaissances de windows (même si j'y ai trouvé des parties pouvant m'intéresser). De plus, les codes de notification d'écran et de requetes réseau sont imbriqués. Les classes C++ sont organisées de façon complexe.
    • je prévoie d'utiliser wxWidgets pour avoir le maximum de code commum entre Mac, Windows, Linux : squelette de l'appli et dialogues de réglages
    • La partie de notification de dessin va être spécifique à chaque plate-forme : ce sera 'refreshCallback' pour MacOSX, ce sera ??? pour Windows et ce sera ??? pour Linux. Cela n'a rien à voir avec les messages de dessin de la fenetre de l'application.
    • Ma question est : que mettre à la place des "???" pour windows du point précédent ? :-)
      Plus sérieusement, je cherche des conseils, des avis me permettant de ne pas perdre trop de temps pour faire la version windows de cette application.


    D'avance merci.

    Michel RENON

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Si vous ne savez pas faire quelque-chose : regardez comment les autres le font.
    Peut-être que le code de VNCHook peut aider ? (là c'est la version UltraVNC mais aussi voir les autres logiciels du même type)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 3
    Par défaut
    Citation Envoyé par David.Schris
    Si vous ne savez pas faire quelque-chose : regardez comment les autres le font.
    Peut-être que le code de VNCHook peut aider ? (là c'est la version UltraVNC mais aussi voir les autres logiciels du même type)
    Merci pour l'information !
    Le code d'UltraVNC est beaucoup plus facile à comprendre que celui de realVNC...
    cela correspond bien à mes besoins.
    Je n'avais pas choisi le bon VNC...

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Citation Envoyé par mr-consultant
    Merci pour l'information !
    C'était un plaisir. (traduction : dites merci à Google )

    Et tenez-nous au courant concernant votre application (où la télécharger, etc...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [API HTML5] [Article] Comment utiliser l'API de notification d'HTML 5
    Par FirePrawn dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/09/2012, 08h59
  2. [HTML 5] Comment utiliser l'API de notification d'HTML 5
    Par FirePrawn dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 13/09/2012, 08h59
  3. [Article] Comment utiliser l'API de notification d'HTML 5
    Par FirePrawn dans le forum Publications (X)HTML et CSS
    Réponses: 4
    Dernier message: 13/09/2012, 08h59
  4. Dessiner du texte à l'écran
    Par rolkA dans le forum DirectX
    Réponses: 2
    Dernier message: 22/07/2003, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo