IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[APi Window] Questions


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 21
    Par d�faut [APi Window] Questions
    Bonsoir,
    est il possible d envoyer un message (PostMessage) a une fenetre de type dialog et si oui ttes (mm celle d un autre prog)?
    En fait, jessaie de fermer une fenetre d'Excel. Cette fenetre "dialog"
    s affiche apres l ouverture lorsque le fichier contient des classeurs lies.
    Elle contient 2 boutons. (oui et non). jai donc regardez avec spy++
    pour voir les infos que je pouvais recuperer.
    Ce qui m interesse c est le bouton non(qui peut etre activer avec la combinaison alt+n) et jai vu qu il avait un id control(ds spy++) de 00007 (qq chose comme ca). cet id peut il m aider ?

    Car pour l instant tout ce que jai fait c est sold� par un �chec except� le
    SetWindowText qui remplace bien le titre de la fenetre.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if((window = FindWindow("#32770","Microsoft Excel")) != NULL) 
       { 
          AfxMessageBox("find it"); 
       //   window->SetWindowText("TA MERE"); 
       window->SetForegroundWindow(); 
       window->PostMessage(WM_SYSKEYDOWN, VK_MENU, NULL);  
       window->PostMessage(WM_KEYDOWN, 0x6E, NULL);  
        } 
       else 
          AfxMessageBox("rien");

  2. #2
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 21
    Par d�faut
    Merci de ta r�ponse.
    le probleme cest que la fenetre n'as pas la ptite croix donc elle ne peut
    pas recevoir de SC_CLOSE je pense.(en tt cas ca passe pas)
    Faut il envoyer les messages a cette fenetre ou � la fenetre mere.

  4. #4
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    essaye WM_CLOSE.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 21
    Par d�faut
    ouinn rien a faire
    elle veut rien entendre cette maudite fenetre.
    faut envoyer le postmessage a cette fenetre ou la fenettre mere ?

  6. #6
    Membre �prouv�
    Inscrit en
    F�vrier 2004
    Messages
    102
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2004
    Messages : 102
    Par d�faut
    WM_DESTROY peut-�tre ...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 21
    Par d�faut
    no
    rien n y fait. c est la fenetre rebelle

  8. #8
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    WM_QUIT alors ??

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 21
    Par d�faut
    MDRRR rieeeeeeeeeeeennnnnnnnn
    vous croyez vraiment que vous l'emportez face a la super fenetre Excel ?
    bcp trop forte pr vous

    sinon comment procederiez vous ?
    on est bien d accord ds lidee?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    window = FindWindow(class, nom);
    window->postmessage(...)
     et pouf elle doit se fermer ?
    ou faut il que jatteigne le bouton NON qui est ds le dialog ?
    sinon avec la simulation de pression de touche ca devrait marcher non ?
    comment faire un ALT+N a ce moment ?
    MERCI en tt cas a tous
    c est super sympa de m aider
    [/code]

  10. #10
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    ton probl�me ce qu'il te demande si tu veux sauver et que ca quitte par directement ? c'est ca ?

  11. #11
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    re,
    si tu connais l'id du bouton tu peux faire �a:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    pWnd->PostMessage(WM_KEYDOWN,' ');
    pWnd->PostMessage(WM_KEYUP,' ');
    note dans la liste des liens de mon post il y a une methode pour parcourir les fenetres filles d'une fenetre en controllant la classe lors du parcours et eventuellement le texte �a doit etre jouable ensuite Postmessage comme ci-dessus.

  12. #12
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    sinon, si tu veux quitter comme un bourrin, tu peux utiliser TerminateProcess(...)

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 21
    Par d�faut
    ton probl�me ce qu'il te demande si tu veux sauver et que ca quitte par directement ? c'est ca ?
    la boite de dialogue apparait � l ouverture pour me dire que le classeur contient des lisaisons avec d autres sources de donn�es.
    il me demande si jveux les mettre � jour.


    farscape
    jpense connaitre l ID. j'ai recup avec Spy++ un control ID ca doit etre ca non ?
    mais comment utiliser cette ID pour avoir un Handle du bouton ?

    nico-pyright(c)
    jpourrai faire ca mais le truc cest que je lance pas Excel ds un process.
    et jsuis pas sur que ca marche car cette maudite fenetre est bien r�sistante

    nous la fermerons cette grrr de fenetre

  14. #14
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    mais r�cuperer l'ID avec spy++, il risque pas d'etre diff�rent d'un lancement � l'autre ?
    sinon, il faut utiliser GetDlgItem

    et pour TerminateProcess, si tu r�cuperes son handle avec FindWindow, tu devrais pouvoir la fermer

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 21
    Par d�faut
    HIIIIIIIIIIIIIIIIIIII AHHHHHHHHHHHHHHHHHHHHHHH
    jai trouv�
    c est pas vraiment moi mais bon
    Jsuis trop content. un vrai gosse avec son joujou
    donc voila la soluce.
    donc pour tout ceux qui ont des fenetres rebelles !!

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    HWND hwndButton = NULL;
    	if (hwndParent = ::FindWindow("#32770", "Microsoft Excel"))
    	{
    		if (hwndButton = ::FindWindowEx(hwndParent, 0, "Button", "&Non"))
    		{
    			int nID = ::GetDlgCtrlID(hwndButton);
    			::SendMessage(hwndParent, WM_COMMAND, MAKEWPARAM(nID, BN_CLICKED), (LPARAM)hwndButton);
     
    		}
    		else
    		AfxMessageBox("none");
    	}
    	else
    	AfxMessageBox("no");
    ca peut mm s ajouter ds la Faq VC++
    jpense non ?

    Merci a tous en tout cas. Vous m avez bcp aid�.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Syst�me/Fichiers/API] Questions au sujet des API windows
    Par JPras dans le forum C++Builder
    R�ponses: 4
    Dernier message: 13/03/2014, 09h06
  2. [C++] 2 petites questions sur l'API Windows
    Par Fabien Henon dans le forum Windows
    R�ponses: 15
    Dernier message: 25/12/2007, 11h54
  3. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    R�ponses: 1
    Dernier message: 16/11/2006, 15h28
  4. Deux pitites questions pour l'API Windows
    Par The Lord of Nesquik dans le forum Windows
    R�ponses: 12
    Dernier message: 02/11/2006, 14h34
  5. Question API windows
    Par T-B dans le forum API, COM et SDKs
    R�ponses: 6
    Dernier message: 28/12/2005, 13h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo