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 :

Hotkeys : Presse-papier


Sujet :

Windows

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2002
    Messages : 69
    Par défaut Hotkeys : Presse-papier
    Bonjour,

    J'aimerais réaliser un programme qui capture un sélectionnion par le billet d'un Hotkeys (F12 par exemple) et envoie directement cela dans un application tiers.

    Exemple :
    Je capture le numero de téléphone dans Word au moyen de ctrl-c et ensuite cela envoie ce numéro directement dans mon application téléphonique.

    C'est possible, si oui avec quel language?

    Merci Beaucoup

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Bonjour,

    A brule pourpoint, je dirais :

    - enregistrer la hotkey avec RegisterHotKey

    - Faire un hook systeme qui se charge de ne prendre en compte que l'appui sur CTRL+C (cf. "Hooks" sur la MSDN)

    - si CTRL+C est appuyé, ouvrir le clipboard (cf. OpenClipboard et CloseClipboard) et faire un "parsing" de ce qui s'y trouve.
    Ici il faudra voir pour l'implémentation de ce qui est ou non un numéro de tel (xx-xx-xx-xx-xx ou xx xx xx xx xx ou encore xx.xx.xx.xx.xx et en vérifiant bien que chaque 'x' est forcément un chiffre)

    A) Si cela ne ressemble pas a un numéro de tel. on fait comme si de rien n'était...et tout reprend son cour normal.)

    B) Si cela ressemble à un numéro de tel. on a alors plusieurs cas de figure...

    B-1) l'application "répertoire de tel." n'est pas lancée :

    - ShellExecute avec le numéro de tel passé en ligne de commande

    B-2) L'application est lancée :

    - il faut envoyer un message à l'appli. en lui disant qu'on a qque chose pour elle, que ce soit par l'intermédiaire:

    - d'un pipe (cf. MSDN et "pipe")
    - d'une mémoire partagé (cf. les fichiers mappés "MapViewOfFile" et consorts)
    - d'un fichier (l'application se charge de vérifier la présence du fichier, si oui elle l'ouvre et y prend le num. de tel.)
    - de la BDR (base de registre)
    - et là je suis à court d'idées :p

    Bien sur cela passera par une implémentation avec Thread et Timers (le thread se chargeant à intervalle régulier de voir si une donnée est arrivée, le "pipe", lui, reçoit automatiquement les données, il n'a pas besoin de "vérifier" que des données sont à l'autre bout).

    Le tout dans n'importe quel langage supportant l'API Win32.

    Voilà, j'espère avoir été concis et clair

Discussions similaires

  1. [VBA] Vider le presse papier
    Par Kelyane dans le forum VBA Access
    Réponses: 7
    Dernier message: 07/10/2003, 12h05
  2. Comment copier une image dans le presse papier.
    Par cprogil dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2003, 15h54
  3. [VBA-E] Vider le presse-papier
    Par tinej dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/12/2002, 09h33
  4. [Système] Vider le Presse Papier
    Par babe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/09/2002, 17h46
  5. Copier une image (jpeg) dans le presse papier
    Par benj63 dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/07/2002, 14h51

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