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

API, COM et SDKs Delphi Discussion :

Quelle fonction(s) API pour passer une valeur à une autre application ?


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut Quelle fonction(s) API pour passer une valeur à une autre application ?
    J'ai une petite application qui permet de sélectionner une couleur et d'en composer le code selon divers langages (HTML, VB, Pascal...). C'est une petite fenêtre qui flotte au dessus des autres et que je peux appeler (ouvrir) depuis l'éditeur de texte TextPad (que j'aime beaucoup pour le HTML, entre autres).

    Je voudrais, lorsque mon appli est ouverte, pouvoir envoyer directement la valeur de la couleur choisie au point d'insertion dans le document actif dans TextPad. Seulement voilà, j'ignore quelle(s) fonction(s) de l'API utiliser et comment l'(es) utiliser.

    En ce moment, j'ouvre l'application (.exe) via le menu Outils de TextPad, sans problèmes. Et j'utilise le presse-papiers. Ça aussi ça va, mais il faut taper Alt+Tab, puis Ctrl+V... et c'est ch...t. Il me semble qu'un bouton insérer serait plus simble.

    La question est dans le titre.
    Merci.

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 122
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 122
    Par défaut
    Salut.

    Au départ je dirais "SendMessage".

    Mais je suis sûr qu'en fouillant le web, tu vas trouver plein d'exemples pour envoyer du texte à Notepad (avec SendText, par exemple), et je pense que ça doit ressembler à ton éditeur.

  3. #3
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Ha ? Ho ? J'étais pas tombée sur celui-là.

    Je vais voir et je vous donne des nouvelles.

    Merci

    [Edit]
    Je ne sais pas trop si cet exemple ferait l'affaire. J'avais moi aussi d'abord pensé à SendMessage, mais c'est son utilisation dans ce cas précis qui me... comment dirais-je... m'étourdis (pour le moment c'est le seul terme qui me vient). De plus tous les exemples que j'ai chez moi sont en VB et aucun ne fait précisément ce que je veux.

    Je dois savoir quelle application (TextPad pour ce cas-ci, mais ça pourrait tout aussi bien être l'IDE Delphi) a appelé mon SimpleColorSelector (c'est le nom de mon appli) et lui retourner la valeur sélectionnée au point d'insertion.

    Je continue mes fouilles archéologiques tout en restant ouverte à vos suggestions.

  4. #4
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 122
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 122
    Par défaut
    Citation Envoyé par zazaraignée Voir le message
    (...) Je dois savoir quelle application (...) a appelé mon SimpleColorSelector (...) et lui retourner la valeur sélectionnée au point d'insertion. (...)
    Ah, j'avais pas compris ça comme ça !
    En fait je pensais que ta fenêtre de sélection de couleurs flottait "AlwaysOnTop" et que tu bricolais avec ton éditeur, puis quand tu avais choisi la couleur qui te convenait, hop, un clic dans le sélecteur et zou, la valeur est insérée dans l'éditeur. Et ça c'est fastoche à faire, je crois.
    Évidement, si tu te mets à compliquer les choses on va pas y arriver,

  5. #5
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Hé oui! elle flotte grâce au SetWindowPos que l'on m'a précédemment expliqué. Et Ô combien c'était simple (contrairement avec VB).

    Le problème avec les fonctions de l'API Windows, c'est quelles ont été développé en C (je crois), que j'ai des exemples en VB et que je voudrais les utiliser en Pascal objets (Delphi). Et je bute avec qui fait quoi (je ne comprends pas toujours quel fil est tiré par telle ou telle fonction de l'API) et surtout avec les types de données qui diffèrent d'un langage à l'autre...

    Je me fais l'effet d'un légionnaire romain qui serait téléporté dans le vaisseau Enterprise (imaginez la tête de Spock).

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 932
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 932
    Par défaut
    Le problème n'est pas si compliqué

    Il suffit de dire à ta fenêtre de ne jamais s'activer. Cela se fait en surchargeant les paramêtres de création et en ajoutant WS_EX_NOACTIVATE.
    Tu n'as plus ensuite qu'à remplir le buffer de clavier avec Keybd_Event. C'est tout

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/10/2014, 00h25
  2. Réponses: 1
    Dernier message: 02/04/2011, 11h14
  3. Réponses: 1
    Dernier message: 22/09/2005, 15h46
  4. API pour récupérer la valeur d'un champ Edit
    Par buteiduil dans le forum Windows
    Réponses: 4
    Dernier message: 15/05/2005, 22h32
  5. Réponses: 1
    Dernier message: 22/11/2004, 10h46

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