Programme détectant ouverture fenêtre

Résolu
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008 - 27 oct. 2004 à 14:26
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008 - 28 oct. 2004 à 00:44
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

BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
27 oct. 2004 à 16:03
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++
3
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
27 oct. 2004 à 15:13
Asolument non, ça bouffe la CPU.
SetWindowsHookEx de type WH_CBT, le systeme n'appellera QUE quand se produira.

ciao...
BruNews, MVP VC++
0
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008
27 oct. 2004 à 15:53
Je vois pas comment mettre un hook dans une fonction WINMAIN.

Tu pourrais m'éclairer un peu SVP ???
0
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008
27 oct. 2004 à 16:16
Merci beaucoup.

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

Pour le hook, il me faut une dll alors, non ?
0

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

Posez votre question
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
27 oct. 2004 à 16:21
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++
0
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008
28 oct. 2004 à 00:44
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 !!!
0
Rejoignez-nous