Shell extensions (ole, com, win32)

Soyez le premier à donner votre avis sur cette source.

Vue 7 172 fois - Téléchargée 867 fois

Description

cette source montre comment utiliser les Shell Extensions pour ajouter des commandes de menu au menu contextual clic-droit sur un fichier de l'explorateur et une page de proriétés dans les propriétés du fichier.

commande et page ajoutée pour les fichier "*.txt":
- ouverture avec NotePad
- page de propriétés avec nombre de ligne et de mots

2 exe permettent l'installation et la désintallation de la dll (sources ASM)

le fichier "Readme.txt" donne des informations complémentaires

Conclusion :


En mode debug, un fichier de Traçage est créée pour visualiser les fonctions appelées.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

romain_bossart11
Messages postés
3
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
17 juin 2007

BruNews, merci pour ta réponse, effectivement, c'était un problème de configuration de VC++.
Je suis linuxien, et je ne connais pas encore cet outil.

Merci et a+
Romain
romain_bossart11
Messages postés
3
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
17 juin 2007

Re-bonjour,

Laissez tomber mon commentaire précédent. Navré de vous avoir dérangé.
J'ai trouvé comment faire (corewin...props)

A++
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
17
Tu as bien posé VC++ et platform SDK comme indiqué ici ?
http://www.cppfrance.com/code.aspx?ID=38359

Ensuite pour le type de projet c'est WIN32 APP qu'il faut et non du DotNet.
romain_bossart11
Messages postés
3
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
17 juin 2007

Bonjour,
je débute en VC++ (Express Edition). Après avoir installé et déclaré les include et librairies, le build commence bien puis me donne les erreurs suivantes :

Registry.obj : error LNK2019: unresolved external symbol __imp__RegDeleteKeyA@8 referenced in function _DllUnregisterServer@0
Registry.obj : error LNK2019: unresolved external symbol __imp__RegCloseKey@4 referenced in function "int __cdecl WriteKeyString(struct HKEY__ *,char const *,char const *,char const *)" (?WriteKeyString@@YAHPAUHKEY__@@PBD11@Z)
Registry.obj : error LNK2019: unresolved external symbol __imp__RegSetValueExA@24 referenced in function "int __cdecl WriteKeyString(struct HKEY__ *,char const *,char const *,char const *)" (?WriteKeyString@@YAHPAUHKEY__@@PBD11@Z)
Registry.obj : error LNK2019: unresolved external symbol __imp__RegCreateKeyExA@36 referenced in function "int __cdecl WriteKeyString(struct HKEY__ *,char const *,char const *,char const *)" (?WriteKeyString@@YAHPAUHKEY__@@PBD11@Z)
TxtShExtMenu.obj : error LNK2019: unresolved external symbol __imp__DragQueryFileA@16 referenced in function "public: virtual long __stdcall CTxtShExtMenu::Initialize(struct _ITEMIDLIST const *,struct IDataObject *,struct HKEY__ *)" (?Initialize@CTxtShExtMenu@@UAGJPBU_ITEMIDLIST@@PAUIDataObject@@PAUHKEY__@@@Z)
TxtShExtProp.obj : error LNK2001: unresolved external symbol __imp__DragQueryFileA@16
TxtShExtMenu.obj : error LNK2019: unresolved external symbol __imp__ShellExecuteA@24 referenced in function "public: virtual long __stdcall CTxtShExtMenu::InvokeCommand(struct _CMINVOKECOMMANDINFO *)" (?InvokeCommand@CTxtShExtMenu@@UAGJPAU_CMINVOKECOMMANDINFO@@@Z)

Quelqu'un aurait-une idée pour m'aider à compiler ShExt ?

Merci d'avance
ymca2003
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
Appareemnt, la vérif des flags dans CTxtShExtMenu::QueryContextMenu enpêche l'ajout de l'item dans certains cas, en enlevant :

if(!(uFlags&CMF_VERBSONLY) && !(uFlags&CMF_EXPLORE))
return NOERROR;

ça à l'air de marcher

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.