Code source
Code source

  Présentation
  Unités exemple gratuites
  Unités commercialisées
  Conditions d'utilisation
  Comment acheter
  Vendez vos codes
Unités commercialisées

  LRJ_DosDevice
  LRJ_FileMapped
  LRJ_ModifDateTime
  LRJ_ShellUtils
  LRJ_TokenAPI
  LRJ_WinACL
  LRJ_WinBrowseDialog
  LRJ_WinCreateProcess
  LRJ_WinDesktop
  LRJ_WinDirectories
  LRJ_WinDocRecents
  LRJ_WinDrives
  LRJ_WinFavorisWeb
  LRJ_WinFiles
  LRJ_WinIconNotifArea
  LRJ_WinInternetShortcut
  LRJ_WinMenuFolder
  LRJ_WinModule
  LRJ_WinNetApi
  LRJ_WinNetLocalGroups
  LRJ_WinNetUsers
  LRJ_WinPrivileges
  LRJ_WinProcess
  LRJ_WinRecycleBin
  LRJ_WinRegion
  LRJ_WinRegAppPath
  LRJ_WinShellLink
  LRJ_WinShellUI
  LRJ_WinSID
  LRJ_WinStation
  LRJ_WinTokenGroups
  LRJ_WinTrackChangeDir
  LRJ_WinVolumes
  LRJ_WinWorkingSet

   Accueil | GlobalDesk | Code source Delphi | Développements | Votre compte | Contact   

Code source : unité LRJ_WinRegAppPath




      
Description : cette unité contient l'objet LrJ_TWRegAppPaths qui permet de référencer et déréférencer une application dans le registre et chercher le nom complet d'une application référencée dans le registre à partir de son nom (avec extension) seul. L'unité contient aussi les objets LrJ_TWRegAppPathsItem et LrJ_TWRegAppPathsList qui permettent d'extraire la liste des applications référencées dans le registre. Une fois référencée dans le registre, une application peut être lancée à partir de la commande exécuter du menu démarrer ou "Nouvelle tâche" du gestionnaire des tâches. Il n'est pas nécessaire d'entrer l'extension de l'application pour l'exécuter.

L'unité est livrée avec une application de démonstration ( voir description plus loin ) qui construit un PopUp menu contenant les applications référencées dans le registre, cherche le nom complet à partir du nom seul et référence ou déréférence une application. L'application de démonstration utilise l'unité LRJ_WindowsPlus non livrée avec l'application mais téléchargeable gratuitement sur ce site.

L'unité LRJ_WinRegAppPath met en oeuvre les fonctions de Windows suivantes :
             SearchPath
SHGetFileInfo

Déclarations publiques de l'unité  I  Télécharger l'application de démonstration  I  Exemples d'utilisations

Utilise les unités : Windows, Registry, SysUtils, ShellAPI, LRJ_ClassesPlus et LRJ_WindowsPlus.

Version : 1.1 du 21.11.2008
Auteur : Laurent Hède
Copyright : LorenJo

Nombre de lignes : 456

Réalisée sous : Delphi 6

Systèmes compatibles : NT4, 2000, XP, Vista, serveurs

Prix : 96.00 € H.T.


Déclarations publiques de l'unité :

unit LRJ_WinRegAppPath;

interface
                             uses
                             Windows,
                             Registry,
                             SysUtils,
                             ShellAPI,
                             LRJ_ClassesPlus,
                             LRJ_WindowsPlus;


function LRJ_AppPaths_GetAppliNameComplet(const ApplicName: string): string;
     // combine SearchPath + applications référencées dans le registre

   .................


   //-----------OBJECT--------------------------
LrJ_TWRegAppPaths = class(TObject)
   .................
   function GetAppliNameComplet(const ApplicName: string): string;
   function ReferenceApplic(const AFileNameComplet: string): boolean;
   function DereferenceApplic(const AFileNameComplet: string): boolean;
   end; //-----------FIN--------------------------


   //-----------OBJECT--------------------------
LrJ_TWRegAppPathsItem = class(TObject)
   .................
   function GetSmallIcon: HICON;
   property ApplicName : string read  MOApplicName;
   property FileName: string read  MOFileName;
   end; //-----------FIN--------------------------


   //-----------OBJECT--------------------------
LrJ_TWRegAppPathsList = class(TObject)
   .................
   function Count: integer;
   property Items[const index: integer]: LrJ_TWRegAppPathsItem read GetItem;
   end; //-----------FIN--------------------------



Application de démonstration

L'onglet "Liste" permet de faire apparaître la liste des applications référencées dans le registre dans un PopUp menu. Pour ce faire, cliquer sur le bouton "Liste". Si vous cliquez sur une application dans le PopUp menu, elle est lancée.
L'onglet "Nom complet" permet d'obtenir le nom complet d'une application référencée dans le registre à partir de son nom seul. Entrer explorer ou iexplore et cliquer sur "Donne le nom complet".
L'onglet "Référence/Déréference" permet de référencer ou déréférencer une application dans le registre. Entrer le nom complet de l'application ou cliquer sur "Charge le nom de cette application" pour charger le nom complet de cette application de démonstration ou cliquer sur "Parcourir...." pour rechercher une application sur la machine puis cliquer sur "Référence l'application pour la référencer dans le registre ou cliquer sur "Déréférence l'application" pour la retirer du registre.


Exemples d'utilisations

Référencer une application dont le nom complet (avec chemin) se situe dans edit3
var
  zRegAppPath  : LrJ_TWRegAppPaths;
begin
if length(edit3.Text) > 0 then
  begin
  zRegAppPath := LrJ_TWRegAppPaths.Create;
  if zRegAppPath.ReferenceApplic(edit3.Text) then
    LRJ_ShowMessage('Référencement OK')
  else
    LRJ_ShowMessage(LRJ_GetLastErrorString);
  zRegAppPath.Free;
  end
else
  LRJ_ShowMessage('Entrer un nom complet ou seul');
end;

Déréférencer une application dont le nom complet ou le nom seul se situe dans edit3
var
  zRegAppPath  : LrJ_TWRegAppPaths;
begin
if length(edit3.Text) > 0 then
  begin
  zRegAppPath := LrJ_TWRegAppPaths.Create;
  if zRegAppPath.DereferenceApplic(edit3.Text) then
    LRJ_ShowMessage('Déréférencement OK')
  else
    LRJ_ShowMessage(LRJ_GetLastErrorString);
  zRegAppPath.Free;
  end
else
  LRJ_ShowMessage('Entrer un nom complet');
end;

Fonction qui donne le nom complet d'une application dont le nom court (sans chemin) se situe dans edit1
begin
result := LRJ_AppPaths_GetAppliNameComplet(edit1.Text);
end;

Vous n'avez pas trouvé d'exemple répondant à votre problématique ?
Cliquez sur ce lien.


 Accueil | GlobalDesk | Code source Delphi | Développements | Votre compte | Contact 
Copyright © LorenJo 2000-2009    Notice légale