Programme détectant ouverture fenêtre [Résolu]

Signaler
Messages postés
429
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2008
-
Messages postés
429
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2008
-
Salut,

J'ai un programme que je met en tâche de fond et qui a pour but de détecter l'ouverture d'un fenêtre(précisée).

J'ai réalisé ce code pour faire ça :

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{

do
{

if (hDlg = FindWindow("Outlook Express Browser Class",NULL))
{
EnableWindow(hDlg,FALSE);
DialogBox(hInstance,(LPCTSTR)IDD_DIALOG1,NULL,(DLGPROC)MainProc);
}

else Sleep(5000);

}while (sortie!=1);


return 0;
}

Pour que le programme vérifie souvent j'ai mis un Sleep(5000).
Mais je ne sais pas trop si c'est une bonne idée.

Pouvez vous me donner votre avis SVP ?

6 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
J'ai deja mis tout cela comme exemples de HOOKs, va voir et complete avec MSDN.
HOOK SYSTEM SUR WM_MOUSEWHEEL (WIN32)
http://www.cppfrance.com/code.aspx?ID=25998
DLL HOOK EN RESSOURCE BINAIRE DU PROG (WIN32)
http://www.cppfrance.com/code.aspx?id=25450
HOOK F11 SUR IE (WIN32)
http://www.cppfrance.com/code.aspx?id=18202
HOOK CLAVIER
http://www.cppfrance.com/code.aspx?id=17818
LIMITE LE NBR DE FENETRES IE V2 (WIN32)
http://www.cppfrance.com/code.aspx?id=17387
LIMITE LE NBR DE FENETRES INTERNET EXPLORER (WIN32)
http://www.cppfrance.com/code.aspx?id=11059
NO TASK MANAGER (WIN32)
http://www.cppfrance.com/code.aspx?id=11186
HOOK DE ENTER SUR DIALOGBOX (WIN32)
http://www.cppfrance.com/code.aspx?id=11007
HOOK SUR FENETRE (WIN32)
http://www.cppfrance.com/code.aspx?id=10997

ciao...
BruNews, MVP VC++
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Asolument non, ça bouffe la CPU.
SetWindowsHookEx de type WH_CBT, le systeme n'appellera QUE quand se produira.

ciao...
BruNews, MVP VC++
Messages postés
429
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2008

Je vois pas comment mettre un hook dans une fonction WINMAIN.

Tu pourrais m'éclairer un peu SVP ???
Messages postés
429
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2008

Merci beaucoup.

Donc je peux plus utiliser :
FindWindow("Outlook Express Browser Class",NULL)) ???

Pour le hook, il me faut une dll alors, non ?
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
bien sur, hook global systeme doit se trouver dans une dll pour que le systeme puisse en mapper une copie dans chaque processus.

ciao...
BruNews, MVP VC++
Messages postés
429
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2008

C'est bon j'ai réussi ... avec l'aide des codes de ce site bien sur !!!

Je suis content c'est la première fois que j'utilise une dll et ça marche nickel !!!

Encore une fois ..... Merci Brunews !!!