Changer caption d'une autre application

Résolu
lotfi213_b19 Messages postés 36 Date d'inscription dimanche 31 décembre 2006 Statut Membre Dernière intervention 31 juillet 2010 - 28 sept. 2007 à 12:40
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 - 28 sept. 2007 à 16:09
bonjour,
j'essaye de faire apparaitre l'horloge sur le caption de la fenetre active,
j'ai arrivé d'ecrire presque 80% du code,
mais j'ai pas pu changer le caption de la fenetre active,
merci en avance

3 réponses

cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
28 sept. 2007 à 16:09
Salut,

En gros il te manque juste l'essentiel !

Tu peux essayer un truc dans le genre, bien que certaines fenêtre semblent être quelque peu rétives à cette solution.




var

  h : THandle;
  p : PChar;
begin
  h := GetForegroundWindow;  // handle de la fenêtre active
  p: =StrNew(pchar(TimeToStr(Now)));
  SendMessage(H, WM_SETTEXT, 256, integer(p)); // changement du caption
  StrDispose(p);
end;
3
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
28 sept. 2007 à 13:23
Salut,

As-tu essayé avec un TTimer ?
Sinon, montre nous ton code : 80% d'1 ligne, ça va pas saturer la bande passante...
0
lotfi213_b19 Messages postés 36 Date d'inscription dimanche 31 décembre 2006 Statut Membre Dernière intervention 31 juillet 2010
28 sept. 2007 à 15:07
bonjour japee,c'est ma 80% de code
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
//function EnumerateWindows(wnd:THANDLE;list:TStringList):boolean;stdcall;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function EnumerateWindows(wnd:THANDLE;list:TStringList):boolean;stdcall;
var
Title : Array[0..255]of Char;
begin
if GetWindowText(wnd,title,256)<>0then
if isWindow(wnd) then
if isWindowVisible(wnd) then
List.Add(PChar(@Title));
result:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Clear;
EnumWindows(@EnumerateWindows,lparam(listbox1.items));
end;

end.

ce que manque est,trouver la fenetre (focused) et changer sa caption
0
Rejoignez-nous