2013-07-03 3 views
2

저는 레지스트리에 키를 쓸 수있는 작은 도구를 만들고 있습니다. 편의를 위해 버튼을 클릭하면 즉시 해당 키로 이동하는 것이 좋습니다. 이미 regedit.exe를 여는 방법을 알고 있지만 즉시 필요한 키를 탐색 할 수있는 방법이 있습니까? 나는regedit를 열고 process.start를 사용하여 특정 키로 바로 이동할 수 있습니까?

System.Diagnostics.Process.Start("regedit.exe" + "c/ HKEY_LOCAL_MACHINE");

으로 노력하고있어하지만 난 그냥 레지스트리에 키를 작성하려고 생각합니다.

미리 감사드립니다.

편집 :

@Arran이 되겠 도구는 주로 자신을위한 것입니다. 나는 C#이나 프로그래밍 전반에서 여전히 매우 신비스럽고, 나 혼자서 배우고있다. 이 프로그램은 내가 할 수있는 것에 대한 1/2 테스트와 나중의 작업을위한 1/2 유틸리티입니다. 이걸로 내 목표는 레지스트리에 키를 쓸 수있을 것입니다 그리고 그 후에 그것을 탐색하고 수동으로 regedit를 통해 검색 할 필요없이 그것을 삭제할 수있을 것입니다.

편집 :

@Hans 옆모습

는 정보 주셔서 감사합니다! 내 생각에 구현하기가 어렵다면, 내 시간과 노력에 가치가 없다.

+2

나는 다른 방법으로 문제에 대해 생각했다. 너는 무엇을 하려니? 사용자가 키로 바로 가도록 허용 하시겠습니까? 키를 내보내는 (백업하는 경우) 더 나은 방법이 있습니다. – Arran

+1

이것은 SysInternals의 ProcMon의 기능입니다. UI 자동화를 사용하여 Regedit에서 키를 선택합니다. 특히 간단하게 할 수있는 것은 없습니다. 그것은 수천 명의 사용자가있을 때 추가 할 수있는 Whiz-Bang 기능입니다. 어쨌든 시간을 구우려면 Project White를보십시오. –

답변

1

다른 사람들이이 작품을 인터넷 검색으로 끝내면이 스레드는 약간 오래된 비트입니다. 경로에

  1. 설정 LastKey 당신은 regedit를이
  2. 실행을 regedit에서 열려.

예 :

var registryLocation = "Your key here"; 
var registryLastKey = @"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit";   
    try 
    { 
     Registry.SetValue(registryLastKey, "LastKey", registryLocation); // Set LastKey value that regedit will go directly to 
     Process.Start("regedit.exe"); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
    }