begin process at 2012 02 11 08:33:19
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > CONTEXTMENU - AJOUT D' UN ITEM DS LE POPMENU DE WINDOWS EXPLORER!

CONTEXTMENU - AJOUT D' UN ITEM DS LE POPMENU DE WINDOWS EXPLORER!


 Information sur la source

Note :
9,33 / 10 - par 3 personnes
9,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Système Classé sous :context, menu, contextuel, popmenu, contextmenu Niveau :Expert Date de création :14/07/2005 Vu / téléchargé :8 491 / 727

Auteur : MAURICIO

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Cela permet de créer un item dans le popmenu de Windows Explorer pour faire un quelconque traitement aux fichiers seleccionnés comme le fait WinRar/WinZip.

À noter que le code est aussi executer lorsque l' on fait "Couper/Copier/eliminer etc ..." et non pas seulement lorsque l' on fait un click droit avec la souris.

Lorsque notre item est cliqué, alors je montre une Form en showModal (optionel!!!) avec un memo montrant les fichiers seleccionnés.

Il faut aussi faire le Registry Server qui est fourni dans le zip sous le projet _server.dpr (l' option contraire aussi).

Remarquer encore que, après aavoir fait le registry Server et après avoir testé la dll, celle-ci sera utilisée jusqu' au prochain démarrage de Windows (impossible de recompiler donc).


 Conclusion

Cette source fut construite sur la démo de Borland Delphi7 (\borland\delphi7\demos\activex\shellext\contmenu. dpr).

Je voudrais remercier Jinh68 qui m' a fournis le code pour pouvoir traiter tout type de fichiers/repertoires.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture PROJETS DÉMO DU PACK DE COMPOSANTS CINDY V4.30
Source avec Zip Source avec une capture PACKAGE DE COMPOSANTS CINDY V4.41
Source avec Zip Source avec une capture EVALUATION D' EXPRESSIONS MATHÉMATIQUE (MÉTHODE RPN)
Source avec Zip Source avec une capture DEMO DE LA TCYDBADVGRID (DBGRID AVANCÉE, EXE INCLUS)
ACTUALISER UNE TABLE SANS QUE LA DBGRID MODIFIE SON VISUEL E...

 Sources de la même categorie

Source avec Zip LECTURE DE LA MEMOIRE D'UN AUTRE PROCESSUS par Mokost
Source avec Zip Source avec une capture LIBÉRER LA TAILLE MAXIMALE D'UNE FENÊTRE PAR SUBCLASSING par rt15
Source avec Zip Source avec une capture OBSERVATEUR DE PROCESSUS ACTIFS; VPROCESS 1,0 par Neftali
UN SELECTDIRECTORY QUI SE PLACE AU BON ENDROIT par ThWilliam
Source avec une capture VOTRE PROGRAMME DE MAIL COMME CLIENT MAIL PAR DÉFAUT SOUS WI... par MAURICIO

 Sources en rapport avec celle ci

Source avec Zip DIR2DOS - POUR OUVRIR CMD.EXE DIRECTEMENT SUR LE RÉPERTOIRE ... par GenEars
Source avec Zip Source avec une capture BOUTON AVEC DOUBLE CAPTION (TITRE ET TEXTE) ET IMAGE par mcapp
Source avec Zip Source avec une capture BARRE DE SÉLECTION GRAPHIQUE par asciidefond
Source avec Zip DXINPUT AMÉLIORÉ/MODIFIÉ par Mokost
Source avec Zip Source avec une capture AFFICHER LE MENU CONTEXTUEL D'UN FICHIER par bgK

Commentaires et avis

Commentaire de MAURICIO le 14/07/2005 17:40:36 administrateur CS

Pour pouvoir tester cette source il faut:
1-compiler le projet _Server.dpr -> _server.exe
2-compiler le projet MyContextMenu.dpr.dpr -> MyContextMenu.dll
3-executer _server.exe, cliquer sur le bouton "Register Server"
4-Sous Windows Explorer, seleccionner 1 ou plusieurs fichiers puis faites un click droit.
Seleccionner l' option "Delphi test ..." du menu.

Et voilà !!!

J' ai qu' en même une question pour les plus pros:

dans ContextM.pas on déclare une const ainsi:
const
  Class_ContextMenu: TGUID = '{C763DB5D-B6A8-4A21-9B7E-41EF5CBABD56}';

Je voudrais savoir si cette valeur doit être unique, si on peut la changer nous même manuellement.

Encore merci à Jinh68 pour sa précieuse aide, c' est dommage qu' il ne poste pas de sources parce qu' il est vraiment bon le bougre !!!

Commentaire de roud59 le 14/07/2005 20:55:56

Bon source à mettre sous le coude et qui peut toujours être utile.
Pour enregistrer ta dll, il est aussi possible de taper en ligne de commande "regsvr32.dll MyContextMenu.dll" et pour l'annuler "regsvr32.dll MyContextMenu.dll /unreg" au lieu d'utiliser _Server.exe, et plus besoin de rebooter.

Je l'ai essayé (XP) et ça plante complètement l'explorateur, alors que l'exemple de delphi fonctionne...

Commentaire de roud59 le 14/07/2005 22:25:10

J'ai trouvé et c'était facile. Pour que ça fonctionne, il suffit de retirer la ligne "FList.SaveToFile('c:\dat\delme.txt');" ou de l'adapter au besoin... un oubli lors du nettoyage du code sûrement.
Utiliser regsvr est très pratique pour le développement, il suffit de creer sur le bureau les .bat correspondants.

Encore bravo Mauricio

Commentaire de CptPingu le 14/07/2005 23:08:19 administrateur CS

Tres bonne source. On en trouvera facilement une utilité.

Commentaire de MAURICIO le 18/07/2005 10:26:41 administrateur CS

Merci  roud59 pour ces précisions afin d' utiliser regsvr32.dll  ...

Commentaire de costello le 22/07/2005 23:57:46

Question: est-il possible de choisir une icone pour l'item du menu contextuel, comme Winrar ou Winzip?
merci d'avanz

Commentaire de costello le 23/07/2005 00:00:53

excusez-moi du double-post, je n'avais pas remarqué, mais il y a une petite erreur dans le message de roud59: ce n'est pas "regsvr32.dll" qu'il faut exécuter mais "regsvr32" tout court (c'est un exécutable, naturellement)

Commentaire de MAURICIO le 25/07/2005 10:14:19 administrateur CS

Pour l' icone, je pense que c' est possible.
En ce qui concerne regsvr32, il faut utiliser le paramètre /u pour le unregister.
A+

Commentaire de c3rb3r3 le 27/07/2005 02:30:14

Bonne source.
Dommage que ça va profiter à ceux qui ont des intentions malveillantes, on retrouve ça chez les codeurs de malware entre autre.

Sinon au niveau de la compréhension, c'est simple, c'est propre, merci bien.

Voilou.

Commentaire de c3rb3r3 le 27/07/2005 02:59:29

HuMm, je ne sais pas si mal compris mais dans ma petite tête le regsvr32 /u ne décharge pas la librairie du processus explorer, par contre vous pouvez la décharger sans trop de pb.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/freelibrary.asp

HuMMm, c'est normal que ça ne décharge pas la lib du process explorer ?

Un p'tit kill sur explorer et c'est good ou bien en utilisant FreeLibrary de Kernel32 pour faire proprement mais bon ... y'a que moi ou bien ...

Ton code est propre (je me répète mais c'est appréciable).

Commentaire de MAURICIO le 27/07/2005 10:12:47 administrateur CS

Merci c3rb3r3,
le parametre /u me fut donné par l' aide de Windows et ça marche plutot bien, même si quelques fois on a du mal à recompiler parce que la dll est tjrs en utilisation.
Fermant la fenêtre de l' explorateur de Windows résoud souvent le problème pour éviter le redémarrage du PC.
A+

Commentaire de Forman le 14/02/2006 10:08:41

>Dommage que ça va profiter à ceux qui ont des intentions malveillantes, on retrouve ça chez les >codeurs de malware entre autre.

Faut-il en déduire que windows est une boîte à malware?
lol

Commentaire de MAURICIO le 14/02/2006 14:06:09 administrateur CS

Salut Forman,
il faut juste en deduire que le monde est un equilibre entre le bien et le mal ... Malheureusement l' un ne va pas sans l' autre. Moi ce qui m' interessait c' est de montrer comment font les utilitaires comme winzip etc ....A+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Raccourci dans le menu contextuel [ par MyC ] Bonjour, je cherche le moyen de pouvoir effectuer divers actions sur un fichier ou pouvoir le lancer dans une application, en cliquant sur des élément ajouter 1 item au menu contextuel windows [ par costello ] Bonjour!!bon, voilà le titre un peu ring',en fait je SAIS ajouter un item à un menu contextuel windows.En l'occurence, je voulais ajouter l'item 'Lire Menu contextuel [ par bigjohn02tw ] Salut à tous,Un petit pbs: comment faire un menu contextuel avec delphi Merci pour les idées.John Popup Menu + Tray + Pas de click [ par mestressat ] Bonjour à tous.J'ai créé une Icon Tray qui affiche un menu contextuel (Popup Menu) lors du click droit de la souris (Grace aux sources trouvées sur le Menu contextuel TWebbrowser [ par ActiveX ] Comment faire pour déactiver ou retirer le menu contextuel du Twebbrowser.merci. [Experts] Shell, explorer [ par Kruger ] Salut tous le monde, je souhaite faire une appli visioneuse d'image en passant par le menu contextuel de explorer (un peu à la winzip) , lefonctionnem popup menu dynamique [ par Krome ] Bonjour, j ai un soucis pour creer un menu contextuel..Voici mon code:procedure TstringGrid.EventOnMousedown(Sender: TObject; Button: TMouseButton; S TWebbrowser - API - context menu [ par Armkreuz_Spiderz ] Salut a tous, hey oui encore moi sur ce forum a poser des questions sur le TWebbrowser, mais la, ce probleme la me bug vraiment!...J'explike, j'ai ins desactiver menu contextuel [ par bmwalid ] cmt desactiver menu contextuel dans un TWebBrowser ,? Menu contextuel et TWeBrowser [ par vmsn ] Bonjour,je suis un peu ennuyé, voilà mon problème, je suis entrain de créer une application de type "navigateur bridé". J'utilise pour cela un composa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales