begin process at 2008 05 12 12:09:47
1 170 231 membres
133 nouveaux aujourd'hui
13 957 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur la source

Catégorie :Système Classé sous : context, menu, contextuel, popmenu, contextmenu Niveau : Expert Date de création : 14/07/2005 Vu / téléchargé: 4 927 / 575

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note


Description

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.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de MAURICIO le 14/07/2005 17:40:36

    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 !!!

  • signaler à un administrateur
    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...

  • signaler à un administrateur
    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

  • signaler à un administrateur
    Commentaire de CptPingu le 14/07/2005 23:08:19

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

  • signaler à un administrateur
    Commentaire de MAURICIO le 18/07/2005 10:26:41

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

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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)

  • signaler à un administrateur
    Commentaire de MAURICIO le 25/07/2005 10:14:19

    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+

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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).

  • signaler à un administrateur
    Commentaire de MAURICIO le 27/07/2005 10:12:47

    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+

  • signaler à un administrateur
    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

  • signaler à un administrateur
    Commentaire de MAURICIO le 14/02/2006 14:06:09

    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

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS