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

Windows Discussion :

[API] afficher le menu Démarrer


Sujet :

Windows

  1. #1
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut [API] afficher le menu Démarrer
    B'jour tout le monde,

    je fais un programme pour remplacer la barre des tâches de WinXP que je trouve très moche, mais je commence à comprendre que c'est très dur de faire un menu Démarrer comme celui de Windows .

    Donc ce que je voudrais c'est simuler, quand je click sur un bouton, l'appui sur la touche Windows qui permet de faire apparaître le menu Démarrer, ou plus simple d'afficher directement ce menu par API (sachant que je fais disparaître la barre des tâches au lancement de mon programme). j'utilise l'API keybd_event, mais je n'arrive pas à trouver le code pour la touche Démarrer, j'ai essayé une à une 255 touches, mais...

    Qui peut me donner le code de la touche Windows, ou me donner un moyen pour afficher le Menu Démarrer?

    Merci d'avance pour votre aide...

  2. #2
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Points : 420
    Points
    420
    Par défaut
    Il me semble que les touches speciales ont 2 codes: le premier est toujours 255 puis un second qui determine la touche. (A confirmer)

    Je viens de faire un essai en VB.NET et la valeur renvoyée lorsque j'appuie sur la touche windows est 91. (ce qui est confirmé dans l'aide de VB.net aux sujet des objets Keys, la touche windows correspond a Keys.LWin)

    J'espere que ce que j'ai dit n'est pas faux (les experts du forum me corrigeront en cas d'erreur ou d'imprecision)

    Sinon, pour afficher le menu Demarrer, on peut aussi utiliser al combianaison de touches CTRL+Echap. ca doit pas etre trop dur de generer cet evenement.

  3. #3
    Membre émérite
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Points : 2 747
    Points
    2 747
    Par défaut
    si t'aime pas le style XP, pourquoi tu mets pas un style classique dans les preference de windows ?

  4. #4
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    D'accord, je vais essayer les touches Esc + Ctrl, c'est ce qui semble le plus simple.

    Sinon, pour le choix de l'aspect classique, si je ne le met pas c'est que je trouve également peu esthétique, même s'il est plus personnalisable. En fait, si vous voulez tout savoir, je fais une barre apparence Mac, et je personnalise cette barre plus qu'il est possible de le faire avec Windows (boutons de raccourci...).

    Merci pour ton aide xufux, je ne peux pas essayer encore puisque je ne suis pas chez moi, mais ca ne devrait pas causer de problème. Je clos donc le sujet. Encore merci

    PS: sinon, juste comme ça, ça m'intéraisserait d'avoir le code de la touche Windows ; c'est 255+ 91 ?

  5. #5
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Points : 420
    Points
    420
    Par défaut
    Ca y est !
    J'ai retrouvé comment ca marche (ca faisait un moment que j'avais aps fait de C++ donc j'ai mis un peu de temps a retrouver le bon truc)

    l'API qui t'enteresse est bien-sur SendMessageA de User32.dll

    Syntaxe C:
    LRESULT SendMessage(
    HWND hWnd,
    UINT Msg,
    WPARAM wParam,
    LPARAM lParam
    );

    tu rouveras plus d'info dans les MSDN

    les parametres sont Msg=256, wParam=91
    mais je sais plus ce qu'il faut mettre comme hWnd (faut recuperer le Handle de windows ou un truc comme ca)
    lParam n'a pas d'importance

  6. #6
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    Le programme en Windev pour récupérer le handle du menu Démarrer, avec les API FindWindowA et FindWindowExA, pour ceux que ça intéresse (il doit y en avoir):
    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
    16
    //variables
    //--------------
    lpClassName est une chaine asciiz sur 255
    lpWindowName est une chaine asciiz sur 255
    lpsz1 est une chaine asciiz sur 255
    lpsz2 est une chaine asciiz sur 255
    hWnd est un entier long
    lpClassName = "Shell_TrayWnd"
    lpsz1 = "Button"
    
    //Récupérer le handle
    //-----------------------------
    //handle de la barre des taches
    hWnd = AppelDLL32("user32", "FindWindowA", &lpClassName, &lpWindowName)
    //handle du Menu Démarrer
    hWnd = AppelDLL32("user32", "FindWindowExA", hWnd, 0, &lpsz1, &lpsz2)
    Pour ceux qui ne connaissent pas le Windev, // est un commentaire. ce programme est, je pense, facilement transposable dans un autre langage...

    Merci pour ton aide, mais je crois que je vais faire mon faigneant et rester sur l'envoie des touches Ctrl + Esc.

    Encore merci à tous, et à bientôt

  7. #7
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Points : 420
    Points
    420
    Par défaut
    sinon, je viens de trouver ca ici-meme !
    http://tcharles.developpez.com/simul/
    Je crois qu'il y a tout ce que tu cherches!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ma barre des taches et du menu démarrer se bloque !
    Par quaterne dans le forum Windows XP
    Réponses: 9
    Dernier message: 11/11/2005, 21h27
  2. Réponses: 1
    Dernier message: 31/07/2005, 17h44
  3. Raccourcis sur Bureau et Menu Démarrer
    Par Keke des Iles dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 24/02/2005, 10h08
  4. [InnoSetup] Ajouter un raccourci dans menu Démarrer
    Par jlvalentin dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 23/02/2005, 16h26
  5. [Systeme]Win XP pro: pb d'icone dans menu Démarrer
    Par Bountyx dans le forum Windows XP
    Réponses: 2
    Dernier message: 20/01/2005, 12h22

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