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

C# Discussion :

Equivalence en c# (dotnet)


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    905
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 905
    Points : 85
    Points
    85
    Par défaut Equivalence en c# (dotnet)
    Bonjour ,
    je voudrais faire l'equivalence en c#.
    Il y a en c#,
    mais consomme des resources , je suis obliger mettre un tempo de 100ms.

    Voici le code c++
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        MSG msg;
     
        // Main message loop:
        while (GetMessage(&msg, nullptr, 0, 0))
        {
            if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
            {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
            }
        }
    Je n'ai rien trouver sur le net.

    Merci

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour

    Tu le traduit en appel Interop dit P/Invoque en appelant
    - API Win32 GetMessage()
    - API Win32 TranslateMessage()
    - API Win32 DispatchMessage()

    bon code...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    905
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 905
    Points : 85
    Points
    85
    Par défaut
    ok , mais ce n'est pas propre,
    pourquoi microsoft n'ont pas implémenter cette méthode ???

  4. #4
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    Bonjour
    Diverses solutions existent en .NET Framework.
    1/La procédure de fenêtre WndProc est un hook pour intercepter les messages(events) destiné à tout Control :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            protected override void WndProc(ref Message m)
            {
                base.WndProc(ref m);
            }
    Selon le besoin ,tu peux insérer un hook dans l'application en implémentant IMessageFilter Interface et l'enregistrer dans l'application.

    Extrait du SDK .NET Framework.
    "Remarks
    This interface allows an application to capture a message before it is dispatched to a control or form.

    A class that implements the IMessageFilter interface can be added to the application's message pump to filter out a message or perform other operations before the message is dispatched to a form or control. To add the message filter to an application's message pump, use the AddMessageFilter method in the Application class."
    sur ce lien MSDN:
    http://msdn.microsoft.com/en-us/libr...agefilter.aspx
    bon code...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    905
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 905
    Points : 85
    Points
    85
    Par défaut
    OK ,

    mais je veux faire un genre inputpoint (saisie d'un point).
    Une boucle jusqu'a ce que l'utilisateur à cliquer et sans utiliser de ressource UC.

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    Citation Envoyé par yann458 Voir le message
    OK ,

    mais je veux faire un genre inputpoint (saisie d'un point).
    Une boucle jusqu'a ce que l'utilisateur à cliquer et sans utiliser de ressource UC.
    Tu veux récupérer le fait qu'il a appuyé sur la touche . sur ton programme ?
    Tu as un événement keypress, après je sais pas t'es sur quel techno wpf/windows forms
    https://docs.microsoft.com/fr-fr/dot...the-form-level

    Par contre ta forme doit être au premier plan.

  7. #7
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    Citation Envoyé par yann458 Voir le message
    OK ,

    mais je veux faire un genre inputpoint (saisie d'un point).
    Une boucle jusqu'a ce que l'utilisateur à cliquer et sans utiliser de ressource UC.
    Dans la "pompe" des messages de l'API Win on est au niveau materiel et on ne peut intercepter que des caractères claviers (en fait des codes de touches clavier ou scancodes" traduit en rom en code caractères dit ASCII soit 256 caracteres) ou des mouvements de souris.
    Il te revient de connaitre les constantes de l'API Windows même avec IMessageFilter.

Discussions similaires

  1. equivalent d'AWSTATS en dotnet
    Par zalalus dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 27/07/2009, 10h13
  2. equivalent html é dotnet
    Par dietrich dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 29/06/2007, 22h51
  3. Equivalent bin2hex en DotNet
    Par bayemiky dans le forum Framework .NET
    Réponses: 1
    Dernier message: 29/05/2007, 08h47
  4. [Kylix] Equivalent ShellExec en CLX
    Par Anonymous dans le forum EDI
    Réponses: 7
    Dernier message: 14/08/2002, 11h55
  5. [Kylix] equivalent winsock avec kylix
    Par Victor dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 07h43

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