Fermer une application

Signaler
Messages postés
28
Date d'inscription
vendredi 24 octobre 2003
Statut
Membre
Dernière intervention
6 août 2005
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Salut à tous ,
J'ai besoin dans mon appli VC++ 5 de fermer un fichier excel,
Comment puis-je faire ??? ShellExecute ne prend pas comme argument "close" ???
Merci pour l'info
:question)

9 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
FindWindow
PostMessage avec WM_CLOSE

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
28
Date d'inscription
vendredi 24 octobre 2003
Statut
Membre
Dernière intervention
6 août 2005

OK je vais tester des que possib.

Thanks

;)
Messages postés
28
Date d'inscription
vendredi 24 octobre 2003
Statut
Membre
Dernière intervention
6 août 2005

Ok ça colle !!!
Mon fichier Excel se ferme mais la fenetre "Voulez vous enregistrer les modifs !!" s'affiche !!!
Est il possible de la supprimer !!
J'ai essayé d'appliquer la même méthode :
FindWindow
PostMessage mais cela ne marche pas !!!!

Merci pour l'info !!

:question)
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
ptet que tu peux envoyer l'evt appui sur la touche correspondant au raccourcis associé à 'oui' mais attention à la langue...

=> faire au - un fichier de conf... (cf prj traduction ds mes srces)

Bonne Prog
Magic Nono: l'informagicien!
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Je vais regarder ton probleme dans la journee.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
magic_Nono > Ne jamais faire des envois de touche, trop dangeraux si user change de fenetre, resultats indesirables a prevoir.

RunKi > je peaufine le resultat mais va deja impec.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Voila une solution testee avec Excel 2003.

void ExcelClose()
{
HWND h;
char buff[8];
h = FindWindow("XLMAIN", 0);
if(!h) return;
SetForegroundWindow(h);
PostMessage(h, WM_CLOSE, 0, 0);
Sleep(300); // REGLER ICI
if(!IsWindow(h)) return;
h = FindWindow(0, "Microsoft Excel");
if(!h) return;
if(GetClassName(h, buff, 8) != 6) return;
if(*((DWORD*) buff) != 0x37323323) return;
if(*((WORD*) (buff+4)) == 0x3037)
PostMessage(h, WM_COMMAND, 7, 0);
}

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
comme d'hab rien à dire, BruNews,

parfait

mais C ds les MSDN que tu as trouvé ts ces codes hexa?

++
Magic Nono: l'informagicien!
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Sous mes cheveux, j'en profite de le dire pendant qu'il en reste encore quelques uns.

ciao...
BruNews, Admin CS, MVP Visual C++