php 편집기 Banana는 WinPE의 로컬 레지스트리 포인팅 도구인 실용적인 도구를 소개합니다. WinPE 시스템에서는 로컬 레지스트리에 직접 액세스할 수 있는 기능이 없으므로 레지스트리 정보를 수정하거나 쿼리할 수 없습니다. 이 도구는 WinPE 시스템의 레지스트리를 로컬 시스템으로 지정할 수 있는 간단하고 효과적인 솔루션을 제공하므로 레지스트리를 쉽게 작동할 수 있습니다. 시스템 문제를 해결하든 시스템 유지 관리를 수행하든 이 도구는 시간과 에너지를 절약하는 데 도움이 될 수 있습니다.
이 정보가 레지스트리에 기록되는 위치는 다음과 같습니다.
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp Paths
따라서 레지스트리에서 이 위치에 액세스할 수 있는 한 특정 소프트웨어의 이름과 설치 경로 정보를 얻을 수 있습니다.
이 블로그 게시물은 C#을 사용하여 레지스트리에 액세스하여 소프트웨어 설치 경로를 얻고 이를 표시합니다.
1 샘플 프로그램 메인 화면 설명
샘플 프로그램 메인 화면은 아래와 같습니다.
화면의 텍스트 상자에 실행 프로그램 이름을 입력한 후 "경로 가져오기" 버튼을 클릭하세요. 다음으로 화면의 다음 줄에는 프로그램의 전체 설치 경로 정보가 표시됩니다. 입력하는 실행 파일 이름은 레지스트리에 있는 프로그램 이름이어야 합니다. 예를 들어 레지스트리의 Adobe Reader 이름은 "AcroRd32.exe"입니다.
2 샘플 프로그램의 전체 코드
using System; ()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
string softName = textBox1.Text.ToString();
string strKeyName = string.Empty;
string softPath = @"SOFTWAREMicrosoftWindowsCurrentVersionApp Paths\";
RegistryKey regKey = Registry.LocalMachine;
RegistryKey regSubKey = regKey.OpenSubKey( SoftPath + SoftName + ".exe", false);
개체 objResult = regSubKey.GetValue(strKeyName);
RegistryValueKind regValueKind = regSubKey.GetValueKind(strKeyName);
if (regValueKind == Microsoft.Win32.RegistryValueKind.String )
{
this.label3 .Text = objResult .ToString();
}
}
catch
{
this.label3.Text = "친구 여러분, 프로그램 경로를 가져오지 못했습니다!";
}
}
}
}
참고: 참조 추가 필요: Microsoft.Win32 사용;
3 코드 설명
(1) 코드 "RegistryKey regKey = Registry.LocalMachine"은 regKey가 레지스트리 기본 키 HKEY_LOCAL_MACHINE.
(2) "RegistryKey regSubKey = regKey.OpenSubKey(softPath + SoftName + ".exe", false)" 코드는 regSubKey가 우리가 찾아야 하는 레지스트리 하위 키를 가리키도록 만듭니다.
(3) 코드 "object objResult = regSubKey.GetValue(strKeyName)"은 레지스트리의 키 값을 가져옵니다.
(4) 코드 "RegistryValueKind regValueKind = regSubKey.GetValueKind(strKeyName)"는 레지스트리의 키 값 유형을 가져옵니다.
(5) 최종적으로 획득한 키값 정보를 출력합니다.
(6) 프로그램에 오류가 있는 경우 "친구, 프로그램 경로를 가져오지 못했습니다!"라는 메시지가 출력됩니다.
참고: RegistryKey.GetValue 및 RegistryKey.GetValueKind 메서드는 모두 검색할 값의 이름을 나타내는 매개 변수를 전달해야 합니다. RegistryKey.GetValue 및 RegistryKey.GetValueKind 메서드에 전달된 매개 변수가 빈 문자열인 경우 검색되는 것은 레지스트리 편집기에 표시될 때 이름을 표시하는 대신 "(기본값)" 문자열을 표시하는 명명되지 않은 값입니다. 이 예에서는 빈 문자열이 전달됩니다. 소프트웨어 Adobe Reader의 설치 정보를 검색하는 경우 아래 그림의 첫 번째 레지스트리 정보를 가져옵니다. 이때 이름 항목에는 다음이 표시됩니다. 문자열 "(기본값)".
4 프로그램 실행 결과 (1) Adobe Reader 설치 경로 가져오기 "AcroRd32"를 입력하고 "경로 가져오기"를 클릭하면 다음과 같은 결과가 레지스트리에 기록된 정보와 일치합니까?2) Chrome 설치 경로 가져오기
"chrome"을 입력하고 "Get Path"를 클릭하면 다음과 같은 결과가 레지스트리에 기록된 정보와 일치합니까?
5 몇 마디개발 중에 특정 유형의 작업을 수행하도록 특정 프로그램이 지정되는 경우가 있는데, 이 작업에는 프로그램을 열기 위해 레지스트리 정보를 읽는 작업이 포함될 수 있습니다. 단지 일부 프로그램에는 그러한 등록 정보가 없을 수 있습니다. 이 경우 다른 방법을 취해야 합니다.
위 내용은 winpe의 로컬 레지스트리 포인팅 도구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!