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

Delphi Discussion :

utilisation de send message pour envoi sur notepad ou autre


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Par défaut utilisation de send message pour envoi sur notepad ou autre
    bonjour,

    je veux trouver un moyen pour envoyer des caractères dans un bloc note.

    je dois utiliser la fonction sendmessage mais les docs sur celle ci sont assez floues...

    quelques conseils seraient les bienvenus!

    merci

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 082
    Par défaut
    essaye WM_CHAR ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre éprouvé
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Par défaut
    Bonjour,
    Il y a des tutoriels sur le site.
    Tu peux aussi jeter un coup d'oeil sur le défi N°1 ou il était question de piloter le démineur...
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,
    Je t'ai fait un bout de code qui permet d'envoyer une chaine à Notepad :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      SendString('ça marche !');
    end;
     
    // Retourne le handle de Edit de NotePad :
    Function TForm1.GetNotePadHandle : THandle;
      var aHandle :THandle;
      P : Array[0..256] of Char;
     
      Const BlocNote = 'Sans titre - Bloc-notes';   // Titre de la fenêtre NotePad
            EditClass = 'Edit';                     // Classe de la fenêtre edit de NotePad
    begin
      // Recherche de la fenêtre BlocNote
      aHandle := FindWindow(0,Pchar(BlocNote));
      if aHandle > 0 then
      begin
         // Recherche de la fenêtre Edit de NotePad (Fenêtre enfant):
         aHandle := GetWindow(aHandle,GW_CHILD);
         Repeat
           GetClassName(aHandle,P, Sizeof(P));
           if String(P) <> EditClass then
             aHandle := GetWindow(aHandle, GW_HWNDNEXT);
         Until  String(P) = EditClass;
      end;
      Result := aHandle;
    end;
     
    // Envoi de la chaine à NotePad
    procedure TForm1.SendString(s : String);
    var i : integer;
        Hwnd : THandle;
    begin
      Hwnd := GetNotePadHandle;
      If Hwnd > 0 then
      begin
        i := 1;
        while i <= length(S) do
        begin
          PostMessage(Hwnd,WM_CHAR,Ord(S[i]),0);
          inc(i);
        end;
      end;
    end;
    La seule difficulté est de trouver le handle de fenêtre à qui envoyer la chaine : il faut trouver le handle de la fenêtre Edit appartenant à NotePad.
    En espérant que ça te servira !
    Eb.

  5. #5
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 537
    Billets dans le blog
    10
    Par défaut
    Voici quelques fichiers qui devraient te permettre d'avancer

  6. #6
    Membre éclairé Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Par défaut recherche de focus
    merci pour ces conseils

    Mon problème n'est pas tout à fait d'écrire dans un notepad.. il me faut écrire dans n'importe quel champs détenant le focus.

    Comment retrouver ce focus?

    =)

    ++

  7. #7
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 537
    Billets dans le blog
    10
    Par défaut
    Quelle est l'application cible si ce n'est pas le notepad.
    Est-ce une appli que tu as développé ou dont tu as les sources ?

  8. #8
    Membre éclairé Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Par défaut focus= n'importe quel champ
    Je dois pouvoir écrire partout ou peut être le focus : sur google, notepad ... etc partout.

    je galère pour récupérer le focus actif puisque au moment ou je clique sur mon application, l'endroit ou je dois écrire n'est plus actif...
    C'est un problème de logique... et je ne connait pas assez les fonctions...

    De l'aide svp


    =(

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/07/2012, 09h20
  2. Utiliser php dans javascript pour traitement sur value d'une combobox
    Par filiplarlibe dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/03/2010, 12h43
  3. Réponses: 2
    Dernier message: 27/01/2009, 13h47
  4. Message pour Morsi sur l'adresse IP
    Par bizu31 dans le forum Access
    Réponses: 2
    Dernier message: 16/06/2004, 08h39
  5. utilisation d'objets ADO pour CMS sur POSTGRESQL7.3.2
    Par turbok dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 10/10/2003, 09h29

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