[win32] forcer une fenetre a rester en premier plan

tcok Messages postés 61 Date d'inscription samedi 7 juin 2003 Statut Membre Dernière intervention 3 août 2005 - 24 août 2003 à 22:08
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 25 août 2003 à 14:20
bonjour a tous,

voila mon probleme, je developpe une application qui protege l'ordinateur sur lequel elle tourne, pendant l'absence de l'utilisateur, en demandant un mot de passe.
donc g fait une fenetre plein écran avec une petite boite de dialogue pour le passe et ca marche impecable..

le probleme c que alt-tab reduit a neant tous mes efforts.
pourtant en cherchant g trouvé un truc qui aurait pu mettre fin a mon cauchemar :
SystemParametersInfo(
UINT uiAction, // system parameter to query or set
UINT uiParam, // depends on action to be taken
PVOID pvParam, // depends on action to be taken
UINT fWinIni // user profile update flag
);

avec SPI_SETFASTTASKSWITCH comme action.

mais MSDN dit que c obsolete et que le "FASTTASKSWITCH" est tout le temps operationnel maintenant

est ce que vous connaissez un moyen de contourner mon probleme, si oui, je vous en serais tre reconnaissant ;-)

merci d'avance pour vos lumieres !

ps: g deja teste dans WM_KILLFOCUS :
SetForegroundWindow()
SetActiveWindow()
SetWindowPos()
SetWindowPlacement()

le meilleur resultat c SetWindowPos car elle remet bien ma fenetre en premier plan, mais la barre de taches ne se cache pas donc ca sert a rien... :sad)

@+
tcok

26 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 août 2003 à 13:29
Tout a fait d'accord, tu peux traiter mais ceci veut dire que tu ne traiteras QUE dans ton processus donc hook systeme inutile. Si c'est juste pour traiter perte de focus peut se faire sans hook, direct au niveau de wndproc.
BruNews, ciao...
0
tcok Messages postés 61 Date d'inscription samedi 7 juin 2003 Statut Membre Dernière intervention 3 août 2005
25 août 2003 à 13:35
bon tout ca c bien mais g toujours pas resolu mon probleme.
ma fenetre n'arrive pas a rester en premier plan.

qd je fais alt tab la barre de tache appatrzait et on peut se balader ds les programmes trankilement...

y'a d'autre probleme ke je ne sais pas resoudre comme le alt-f4, ctrl-alt-suppr etc
est ce qu'un hook peut remedier a tout ca ???

merci
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 août 2003 à 13:38
i etait bien ton test, leve la partie (== hwnd) et regarde si tu reçois bien sur tous les processus.
BruNews, ciao...
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 août 2003 à 13:41
RECTIF:
je pensais:
change ton test sans la partie == hwnd mais teste seulement la reception de focus de fenetre principale.
Vois si tu reçois bien sur tous les processus.
BruNews, ciao...
0

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

Posez votre question
tcok Messages postés 61 Date d'inscription samedi 7 juin 2003 Statut Membre Dernière intervention 3 août 2005
25 août 2003 à 14:08
je k'ais fais et g plante en beaute mon systeme, j'avais une avalanche de message box... ca prouve buien que je hook toutes les fenetres du systeme

mais je vois pas comment arriver a mes fins avec hook, tu pourrais m'expliker plus en details ce ke je dois faire stp.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 août 2003 à 14:20
et oui fallait penser que MessageBox provoque perte focus en rafale, par contre le but est d'empecher un autre prog de s'allumer pendant que le tien y est, ok ? Alors on revient un peu plus haut dans le sujet, tu testes la fenetre qui RECOIT focus && qui est != mywnd ALORS:
PostMessage(hwnd, WM_CLOSE, 0, 0);
meme le taskmanager ne viendra + te faire ch...
BruNews, ciao...
0
Rejoignez-nous