[win32] forcer une fenetre a rester en premier plan
tcok
Messages postés61Date d'inscriptionsamedi 7 juin 2003StatutMembreDernière intervention 3 août 2005
-
24 août 2003 à 22:08
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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...
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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...