Rendre une application active à partir de son handle

cs_seraphine Messages postés 5 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 25 septembre 2003 - 11 sept. 2003 à 15:42
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 12 sept. 2003 à 12:48
Je connais le handle de mon application.
J'aimerai mettre dans un timer (tous les 5 min):
rendre mon application active à partir de son handle.
Je m'explique je lance mon application mais entre temps une autre application peut etre lancée et rester ouverte pendant un certain tempsmais j'aimerai simplement que tout les 5 min je "scan" le poste et si mon application n'est pas active je la rends active grace à son handle .

J'espere que c'est assez explicite !!!
Merci d'avance

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
11 sept. 2003 à 16:13
Tu veux juste la rendre active, ou afficher la fenêtre de ton application ? Car logiquement, si ton prog est lancé, ton application est active. Pour mettre ta fenêtre visible, utilise la fonction API SetWindowPos.

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
cs_seraphine Messages postés 5 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 25 septembre 2003
12 sept. 2003 à 10:53
en effet, j'aimerai rendre à nouveau la fenetre de mon programme visible
Peux tu me donner un exemple de fonctionnalité de l'API
SetWindowPos

car ce que j'ai fait ca ne marche pas :
If hwnd_Cadenceur <> hwnd Then
hwnd = hwnd_Cadenceur
SetWindowLong hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE)
SetWindowLong hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE)
End If

merci d'avance
PS je dois faire une démo de mon prog lundi il ya plus que ca qui ne marche pas
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 sept. 2003 à 11:13
Pour mettre la feuille "FRM_PRINCIPALE" au premier plan (devant toutes les autres fenêtres) :

Call SetWindowPos(FRM_PRINCIPALE.hWnd, -1, 0, 0, 0, 0, &H2 Or &H1 Or &H40 Or &H10)

il te suffit de modifier le "-1" pour changer l'état de la feuille :0 état normal (à la même position que les autres feuilles), 1 dessous les autres feuilles, etc.

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
cs_seraphine Messages postés 5 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 25 septembre 2003
12 sept. 2003 à 12:14
Ca marche !!
Mais le probleme lorsque je relance une autre application il me l'affiche en arriere plan derriere mon programme.
Je veux juste redonner la main à mon programmme à un instant t mais pouvoir egalement travailler avec d'autres applications ????
Que dois je faire pour redonner la main à mes autres applications ?

Merci de ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 sept. 2003 à 12:48
Et bien, il faut faire la chose inverse : mettre ta feuille en mode normal, toujours avec l'api SetWindowPos, mais en remplacant le "-1" par un "0".

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
Rejoignez-nous