CHERCHER ET TUER REAL PLAYER ET REAL ONE

cs_orphee14 Messages postés 5 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 16 mars 2008 - 26 févr. 2005 à 08:26
kernel2007 Messages postés 7 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 22 novembre 2006 - 18 nov. 2006 à 19:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12613-chercher-et-tuer-real-player-et-real-one

kernel2007 Messages postés 7 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 22 novembre 2006
18 nov. 2006 à 19:10
Salut ,je suis débutant en matiere de programmation et je travail sur un projet,mais il y a un probléme qui m'intrigue
est ce que vous pouvez m'aider ladsus
le probléme se résume comme suit :
j'ai le nom et le nom de classe d'un window parent d'une application extérne alors j'ai obtenu son handle par la fonction
Findwindow
mais le probléme est comment obtenir le handle de child window tout en sachant le nom et le nom de classe de ce window (child) et que la fonction FindwindowEx n'est pas supporté par windows NT et XP sur lequel je travail
alors comment on fait pour obtenir ce handle ?
cs_orphee14 Messages postés 5 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 16 mars 2008
26 févr. 2005 à 08:26
Merci.
Pas facile de retrouver les API dont on a besoin.
Je l'utilise pour limiter l'appli à une seule instance.
Avant, je ma basais sur Application.Title jusqu'à ce que je change cette propriété par FormatDatetime dans un timer cours d'exécution.

procedure JustUne_main; // Juste Une instance de l'appli
var SSauve_titre: string;
WinHandle : Thandle;
begin
SSauve_titre := Application.title;
Application.title := 'Application en cours de chargement'; // Pour les grosses applis
WinHandle := findwindow('Tapplication',pchar(SSauve_titre));
if (WinHandle > 0) then begin
if IsIconic(WinHandle) then
ShowWindow(WinHandle,SW_SHOWNORMAL)
else
ShowWindow(WinHandle,SW_SHOW);
SetForegroundWindow(WinHandle);
Application.terminate;
end;
Application.Title := SSauve_titre;
end;

Grâce à ton exemple, je peux trouver une éventuelle instance sur la base du "Caption" de le fiche principale.
Merci encore.
Rejoignez-nous