Bouton droit de windows

Signaler
Messages postés
190
Date d'inscription
dimanche 17 avril 2005
Statut
Membre
Dernière intervention
18 mars 2009
-
Messages postés
190
Date d'inscription
dimanche 17 avril 2005
Statut
Membre
Dernière intervention
18 mars 2009
-
bonjour.
j'aimerai ajouter mon application dans cette liste qui ce trouve dans le click droit sur le disktop windows



ou bien cette liste qui ce trouve dans la click droit sur un fichier



merci avance.

7 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Il est possible d'utiliser la base de registres pour ajouter ton application au menu contextuel après clic droit sur un fichier. Voici un exemple ajoutant un item au menu contextuel des fichiers JPEG:
On ouvre la clé HKEY_CLASSES_ROOT\jpegfile\shell
On lui ajoute une sous-clé au nom de notre application:
HKEY_CLASSES_ROOT\jpegfile\shell\MonApplication
On ajoute une autre sous-clé permettant de lancer notre application:
HKEY_CLASSES_ROOT\jpegfile\shell\MonApplication\Command
On lui attribue comme valeur le chemin complet de notre exécutable.
Tout cela est faisable grâce aux fonctions API de manipulation de la base de registres.
Il existe aussi ce qu'on appelle les extensions du shell. Cela permet d'ajouter des éléments au menu contextuel du bureau (ou autre) et même ajouter des sous-menus. Un petit composant COM implémenté dans une DLL interagit avec le shell et nous permet de faire ce qu'on veut. Il me semble que la Platform SDK contient un exemple à ce sujet.
Messages postés
190
Date d'inscription
dimanche 17 avril 2005
Statut
Membre
Dernière intervention
18 mars 2009

bonjour

merci pour votre reponse.

ta un exemple ?

dans ma base registre j'ai trouve seulement .jpeg et pas jpegfile sinon sa serai une valeur d'une cle.



j'aimerai faire ca avec api win32 donc je cherche comment je peux faire ça.


merci encore
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Ok. Si j'ai un bout de temps d'ici 2 ou 3 jours je ferai un exemple complet et je le posterai comme code source.
Messages postés
190
Date d'inscription
dimanche 17 avril 2005
Statut
Membre
Dernière intervention
18 mars 2009

merci avance.

j'attends ton code source avec impatience.
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Comme promis, je viens de déposer un code source exemple complet:
EXTENSION-SHELL-MENU-CONTEXTUEL-WIN32-API
Messages postés
190
Date d'inscription
dimanche 17 avril 2005
Statut
Membre
Dernière intervention
18 mars 2009

merci bcpbcpbcp frere

je vais etudier ton code maintenant, merci encore
Messages postés
190
Date d'inscription
dimanche 17 avril 2005
Statut
Membre
Dernière intervention
18 mars 2009

qu'est ce qui ce passe si je fais seulement :

#include <windows.h>



int main()

{



UINT idCmd,indexMenu;

HMENU hSubmenu = CreatePopupMenu();

HMENU hMenu;


InsertMenu ( hSubmenu, 0, MF_BYPOSITION, idCmd++, "Copier" );

InsertMenu ( hSubmenu, 1, MF_BYPOSITION, idCmd++, "Afficher" );


MENUITEMINFO mii = { sizeof(MENUITEMINFO) };

mii.fMask = MIIM_SUBMENU | MIIM_ID;

mii.wID = idCmd++;

mii.hSubMenu = hSubmenu;

mii.dwTypeData = "Chemin";

InsertMenuItem ( hMenu, indexMenu++, TRUE, &mii );



return 0;

}

c'est quoi la partie qui me manque pour ce truc marche ?

</windows.h>