Bonjour

Je veux retourner le handle d'une classe Tframe développé en delphi dont le prototype est:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
         unit TestFrameUnit;
 
         interface
         uses
           Windows, Messages, SysUtils, Variants, Classes;
 
         type
            TTestFrame = class(TFrame)
J'ai utilisé la fonction Windows FindWindow(Pchar('TTestFrame'), PChar('TestFrame') mais ça me retourne un handle = 0. J'ai voulu comprendre le problème en utilisant les fonctions GetClassName et GetWindowText au niveau de la frame que je cherche

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
procedure TTestFrame.procTest;
var
  Title, ClassName: array [0..255] of Char;
  hwd : THandle;
begin
   GetWindowText(self.Handle, Title, 255); // Title retourne ''
  GetClassName(self.Handle, ClassName, 255);  //ClassName retourne 'TTestFrame'
  hwd := FindWndow(Pchar(ClassName),Pchar(Title)) // hwd =0;
end;

Pouvez vous m'indiquer pourquoi le paramètre WindowName de ma frame est nulle (Title ='') et si vous avez une solution s'il vous plait pour remédier à ce problème.

Ce code n'est qu'un test. Mon objectif est de retrouver le handle de la frame à partir d'une autre application (C++) pour pouvoir envoyer des messages (SendMessage et WM_COPYDATA) mais si ça ne passe pas au niveau de l'application elle même ça va être difficile de faire la communication entre plusieurs.

Merci