|
|
|

| | | | | | | | |  |
 | 
 | 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 :
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.
|
|
 |
 | |  |
|
|