L'éditeur php Banana vous présente un outil pratique : l'outil de pointage du registre local sous WinPE. Dans le système WinPE, puisqu'il n'est pas possible d'accéder directement au registre local, nous ne pouvons pas modifier ou interroger les informations du registre. Cet outil fournit une solution simple et efficace qui peut pointer le registre du système WinPE vers le système local, ce qui nous permet d'exploiter facilement le registre. Qu'il s'agisse de résoudre des problèmes de système ou d'effectuer la maintenance du système, cet outil peut nous aider à économiser du temps et de l'énergie.
L'emplacement où ces informations sont enregistrées dans le registre est :
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp Paths
Ainsi, tant que nous pouvons accéder à cet emplacement dans le registre, nous pouvons obtenir le nom et les informations sur le chemin d'installation de certains logiciels.
Cet article de blog utilise C# pour accéder au registre afin d'obtenir le chemin d'installation du logiciel et de l'afficher.
1 Description de l'écran principal de l'exemple de programme
L'écran principal de l'exemple de programme est comme indiqué ci-dessous.
Entrez le nom du programme exécutable dans la zone de texte à l'écran, puis cliquez sur le bouton "Obtenir le chemin". Ensuite, la ligne suivante de l'écran affichera les informations complètes sur le chemin d'installation du programme. Notez que le nom de l'exécutable que vous entrez doit être le nom du programme dans le registre. Par exemple, le nom d'Adobe Reader dans le registre est « AcroRd32.exe ».
2 Code complet de l'exemple de programme
using System; ()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
string softName = textBox1.Text.ToString ();
string strKeyName = string.Empty; softPath + softName + ".exe", false);
object objResult = regSubKey.GetValue(strKeyName);
RegistryValueKind regValueKind = regSubKey.GetValueKind(strKeyName);
if (regValueKind == Microsoft.Win32.RegistryValueKind.String )
{
this.label3 .Text = objResult .ToString();
}
}
catch
{
this.label3.Text = "Amis, impossible d'obtenir le chemin du programme !";
}
}
}
}
Remarque : Besoin d'ajouter une référence : en utilisant Microsoft.Win32;
3 Description du code
(1) Le code "RegistryKey regKey = Registry.LocalMachine" fait pointer regKey vers le clé primaire de registre HKEY_LOCAL_MACHINE.
(2) Le code "RegistryKey regSubKey = regKey.OpenSubKey(softPath + softName + ".exe", false)" fait pointer regSubKey vers la sous-clé de registre que nous devons trouver.
(3) Le code "object objResult = regSubKey.GetValue(strKeyName)" obtient la valeur clé du registre.
(4) Le code "RegistryValueKind regValueKind = regSubKey.GetValueKind(strKeyName)" obtient le type de valeur clé du registre.
(5) Enfin, affichez les informations sur la valeur clé obtenues.
(6) S'il y a une erreur dans le programme, le message d'invite "Ami, échec d'obtention du chemin du programme !" sera affiché.
Remarque : les méthodes RegistryKey.GetValue et RegistryKey.GetValueKind doivent transmettre un paramètre pour indiquer le nom de la valeur à récupérer. Lorsque le paramètre transmis aux méthodes RegistryKey.GetValue et RegistryKey.GetValueKind est une chaîne vide, ce qui est récupéré est une valeur sans nom qui, lorsqu'elle est affichée dans l'Éditeur du Registre, affiche la chaîne "(Par défaut)" au lieu d'afficher un nom. Dans cet exemple, une chaîne vide est transmise. Si nous prenons comme exemple la récupération des informations d'installation du logiciel Adobe Reader, nous obtiendrons les premières informations de registre dans la figure ci-dessous. A ce moment, l'élément de nom affiche le. chaîne "(par défaut)".
4 Résultats d'exécution du programme (1) Obtenez le chemin d'installation d'Adobe Reader Entrez « AcroRd32 », cliquez sur « Obtenir le chemin » et obtenez les résultats suivants. Sont-ils cohérents avec les informations enregistrées dans le registre ?2) Obtenez le chemin d'installation de Chrome
Entrez "chrome", cliquez sur "Obtenir le chemin", et vous obtiendrez les résultats suivants. Sont-ils cohérents avec les informations enregistrées dans le registre ?
5 Juste quelques motsDans le développement, il arrive parfois qu'un programme spécifique soit désigné pour effectuer un certain type d'opération, ce qui peut impliquer la lecture des informations du registre pour ouvrir le programme. C'est juste que certains programmes peuvent ne pas disposer de telles informations d'enregistrement. Dans ce cas, nous devons utiliser d'autres méthodes.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!