Re: Handle fenêtre windows précédente

Posté par Garogo le 30/12/2004 2:18:59
Merci, voici ce que j'ai fait si ca peut intéresser quelqu'un:

// Declaration globale collection de procedure

HandleFenêtreEnCours	est un entier
HandleFenêtrePrécédente	est un entier
HandleMaFenêtre		est un entier
NuméroTimer		est un entier


// GFFenetreDessusTout et GFFenetreSansFocusStartà lancer dans le traitement d'initialisation de la fenêtre:

PROCEDURE GFFenetreDessusTout()
// Le fenêtre restera au dessus des autres
AppelDLL32("user32","SetWindowPos",Handle(MaFenêtre..Nom),-1,0,0,0,0,0x3)

PROCEDURE GFFenetreSansFocusStart()

// Récupération handle fenetre en cours
HandleMaFenêtre	=	Handle(MaFenêtre..Nom)

// Lancement du timer qui rendra toujours la main a l'application tierce
NuméroTimer	=	TimerSys("TRendFocus",10)



//// Procedure du timer:

PROCEDURE TRendFocus()

//Handle fenetre active en cours
HandleFenêtreEnCours	=	SysFenActive()

SI HandleFenêtreEnCours	=	0	ALORS RETOUR

SI HandleFenêtreEnCours	=	HandleMaFenêtre	ALORS
	// si la fenetre en cours est ma fenetre je rend le focus a la fenêtre windows précédente
	SI	HandleFenêtrePrécédente	=	0	ALORS RETOUR
	SysFenActive(HandleFenêtrePrécédente)
SINON
	// Sinon je note quelle est la fenêtre en cours
	HandleFenêtrePrécédente	=	HandleFenêtreEnCours
FIN


// procédure pour stopper arreter de rendre le focus si necessaire
PROCEDURE GFFenetreSansFocusStop()

FinTimerSys(NuméroTimer)



Ca marche bien, par contre ca se complique un peu pour gérer les clics apres , mais ca c'est une autre histoire :P

Merci :)

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=12&topic_id=1605&post_id=6673