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 :

Récupérer le texte après un ctrl-c


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Récupérer le texte après un ctrl-c
    Je cherche à récupérer un texte s'affichant dans un logiciel externe.

    J'arrive à le sélectionner via la souris, ensuite je fais un ctrl-c.

    Le problème que j'ai c'est que je n'arrive pas à récupérer ce que j'ai copié.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                // Le texte est sélectionné
                //Je fais ctrl-c :
                Keyboard.Press(Key.Ctrl);
                Keyboard.Type("c");
                Keyboard.Release(Key.Ctrl);
     
                // je cherche à récupérer le texte en question :
                string lastword = Clipboard.GetText();
                Console.WriteLine(lastword);
    Le console.WriteLine ne m'affiche rien.

    Par contre, après avoir fait tourner le programme, si j'ouvre un éditeur de texte et que je fais ctrl-v, je copie bien le texte que j'ai sélectionné.

    Donc le texte est bien dans le presse-papier, mais Clipboard.GetText() ne me renvoie rien.

    Est-ce que quelqu'un pourrait me dire où se trouve ce satané texte...

    Merci d'avance !

  2. #2
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Bonjour, à mon avis il suffit d'ajouter un Application.DoEvents après Keyboard.Release.

    La raison ? Les méthodes "keyboard" envoient des messages à l'application, qui les met en file d'attente puisque le thread UI est actuellement en train de traiter le code montré. Application.DoEvents ordonne au thread courant de traiter les messages en attente avant de continuer.

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Merci pour la réponse.

    Le problème était que mon clipboard appelé dans le programme était vide.

    J'ai rajouté [STAThread] avant ma méthode main, et maintenant ça marche comme prévu.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/04/2012, 09h43
  2. récupérer la valeur d'un input text après modification
    Par Tellounet dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 28/05/2009, 09h30
  3. Récupérer ses données après formatage
    Par Sékiltoyai dans le forum Composants
    Réponses: 7
    Dernier message: 21/04/2007, 18h01
  4. Récupérer le texte d'un champ de texte
    Par theberliner dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 04/12/2004, 10h08
  5. [methode] récupérer du texte
    Par thesly dans le forum Débuter
    Réponses: 6
    Dernier message: 23/04/2004, 15h14

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