Bouton droit de windows

unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009 - 18 oct. 2008 à 23:43
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009 - 6 nov. 2008 à 16:51
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

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
19 oct. 2008 à 17:38
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.
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
26 oct. 2008 à 02:13
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
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
26 oct. 2008 à 20:28
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.
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
29 oct. 2008 à 00:11
merci avance.

j'attends ton code source avec impatience.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
30 oct. 2008 à 22:37
Comme promis, je viens de déposer un code source exemple complet:
EXTENSION-SHELL-MENU-CONTEXTUEL-WIN32-API
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
5 nov. 2008 à 23:13
merci bcpbcpbcp frere

je vais etudier ton code maintenant, merci encore
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
6 nov. 2008 à 16:51
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>
0
Rejoignez-nous