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

goutbouyo 429 Messages postés mardi 6 juillet 2004Date d'inscription 12 janvier 2008 Dernière intervention - 27 oct. 2004 à 14:26 - Dernière réponse : goutbouyo 429 Messages postés mardi 6 juillet 2004Date d'inscription 12 janvier 2008 Dernière intervention
- 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 ?
Afficher la suite 

6 réponses

Répondre au sujet
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 27 oct. 2004 à 16:03
+3
Utile
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++
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de BruNews
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 27 oct. 2004 à 15:13
0
Utile
Asolument non, ça bouffe la CPU.
SetWindowsHookEx de type WH_CBT, le systeme n'appellera QUE quand se produira.

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

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

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

Pour le hook, il me faut une dll alors, non ?
Commenter la réponse de goutbouyo
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 27 oct. 2004 à 16:21
0
Utile
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++
Commenter la réponse de BruNews
goutbouyo 429 Messages postés mardi 6 juillet 2004Date d'inscription 12 janvier 2008 Dernière intervention - 28 oct. 2004 à 00:44
0
Utile
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 !!!
Commenter la réponse de goutbouyo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.