DestroyWindow

Signaler
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011
-
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011
-
Salut, bon j'ai une boite de dialog d'un programme externe, enfaite, exactement, j'ai une dll qui s'injecte dans un progamme pas allumer et dans le PROCESS_ATTACH, j'ai une boite de dialog qui s'allume,
donc je vous fait un exemple de Dll, sauf que a la base je ne connai pas le code :

if(dwReason == DLL_PROCESS_ATTACH)
{
ShowDialog...... (NB : Je ne connai pas le nom du Dialog)
return true;
}

et le dialog ne se quite pas ! donc lorque que je lance le prog j'ai le dialog mais le prog atten la fin du dialog pour ce lancer.

comment detruire le dialog pour que le prog ce lance ?

j'ai fait un test :

HWND Key;
Key = FindWindow(NULL,"Nom");
if(Key!=NULL)
printf("Good\n");
if(DestroyWindow(Key))
{
printf("good 2\n\n");
}

sauf que DestroyWindow sa marche pas !

j'ai essayer :
HWND Key;
Key = FindWindow(NULL,"Enter Key");
if(Key!=NULL)
printf("Good\n");
if(ShowWindow(Key,SW_HIDE))
{
printf("good 2\n\n");
}

sa marche mais la boite existe toujour !

comment faire ??
merci d'avance
A voir également:

15 réponses

Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
2
Pour détruire une boîte de dialog c'est  EndDialog(HWND) . Maintenant je ne sais pas si c'est cela que tu cherches.
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
2
j'ai oublié un paramètre : EndDialog(HWND,0);


Voila,


++
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

ok je test merco
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

sa crash !
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

donc ne marche pas Dsl
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Essais avec PostMessage:

PostMessage(hWnd, WM_QUIT, 0 ,0);

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

merci je test !
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

j'ai essayer plein de type de message
WM_DESTROY elle ne reagit pas !
WM_QUIT elle ne reagit pas !
WM_NCDESTROY elle devient transparente mais encore dans la barre des taches !
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
2
mmm bizzar, quel sont les proprités (styles)que tu applique a ta boite de dialogue?
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

je ne sais pas c'est pas la mienne fo lire :)
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Quel est le code d'erreur retourné par EndDialog?

Tu peux aussi essayec:
PostMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

oui mais IDCANCEL desactive le hooking de la dll donc sa ne sert plus a rien !
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

et puis tout ce que j'aurai sa sera
IDCANCEL Identificateur inconnu !
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Pas du tout, IDCANCEL est un identificateur générique, qui vaut 2, et qui est défini dans winuser.h
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

sur mon dialog il y a un cancel mais quand je clique sa annule la dll !!
moi je veux la dll injecter mais juste me debarasser du message !