Ajouter des fonctions dans le menu "clique droite" de windows [Résolu]

Signaler
Messages postés
58
Date d'inscription
dimanche 19 janvier 2003
Statut
Membre
Dernière intervention
9 mars 2005
-
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
-
Bonjour , j'aimerais savoir comment faire pour ajouter des fonction dans le menu qui apparait lors d'un clique droit sur un fichier exemple sur un fichier audio on a lire avec winamp , ajouter a la list de winamp ,...

Merci beaucoup

5 réponses

Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
21
Tu ouvres RegEdit.exe
Tu sélectionnes l'extension désirée. ex: .txt
Tu regardes la clé qui te fait pointer vers: textfile
Tu recherches HKLM\textfile\
Tu développes le shell\
Tu ajoutes une clé 'MonAction' tel que textfile\shell\MonAction\
Tu donnes même un libellé à ta valeur à droite dans la liste. Ca fera le caption de l'item
Encore une sous clé "command"
Tu écrit la valeur suivante à droite (guillemets importantes)
"c:\windows\notepad.exe" "%1"

Tu appliques tout cela à ton programme.

Pour capter le paramère %1, tu utiliseras la fonction ParamStr(1)

Après tu peux automatiser des trucs avec l'unité Registry. Je n'expliquerai rien à ce sujet.

===========
Validez les réponses si ok...

ViewVite : HTML - ZIP
Messages postés
230
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
16 juillet 2005
1
cest avec les mutex, ou semaphores, j ai pose la meme question....

tu as plus qu a trouver des sources maintenant...

sinon, il y a un composant, "unpas2" qui te permet de le faire egalement...
Messages postés
58
Date d'inscription
dimanche 19 janvier 2003
Statut
Membre
Dernière intervention
9 mars 2005

Merci beaucoup sa marche ;) mais j'ai encore une petite question comment je pourrait empecher une 2eme occurence du programme de se lancer tout en recuperant ses parametres ?
(j'avais vus un source a ce sujet mais je le retrouve plus)

Merci
Messages postés
58
Date d'inscription
dimanche 19 janvier 2003
Statut
Membre
Dernière intervention
9 mars 2005

merci ;)
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
Voici le code à mettre dans le source du prog pour empecher deux exécutions simultanées d'un même programme :

program Project1;

uses
  Forms, Windows, Sysutils, Messages,
  unit1 in 'unit1.pas' {Form1};

Var
  ClassName : Array[0..255] of char;
  result : integer;
{$R *.RES}

begin
  Application.Initialize;
  Application.Title := 'Start';
  GetClassName(Application.handle, ClassName, 254);
  result := FindWindow(ClassName, 'NOMAPPLICATION');

  if result <> 0 then
    begin
      ShowWindow(result, SW_RESTORE);
      SetForegroundWindow(result);
      Application.Terminate;
    end
  else
    begin
      Application.Title := 'NOMAPPLICATION';
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end;
end.


@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)