C# 是否可以使用process.start打开regedit并直接导航到特定键?
我正在制作一个小工具,可以在注册表中写入一个键,其中一小部分只是为了方便,只需点击一个按钮即可立即导航到该键。我已经知道如何打开regedit.exe,但是有没有办法立即导航到我需要的密钥? 我正试着和你谈谈C# 是否可以使用process.start打开regedit并直接导航到特定键?,c#,registry,process.start,regedit,C#,Registry,Process.start,Regedit,我正在制作一个小工具,可以在注册表中写入一个键,其中一小部分只是为了方便,只需点击一个按钮即可立即导航到该键。我已经知道如何打开regedit.exe,但是有没有办法立即导航到我需要的密钥? 我正试着和你谈谈 System.Diagnostics.Process.Start(“regedit.exe”+“c/HKEY_本地_机器”) 但我认为这只是试图将一个键写入注册表 提前谢谢 编辑: @阿兰 -其实这个工具主要是给我自己的。我在c#或编程方面还是个新手,我正在自学。这个程序是对我能做什么的1
System.Diagnostics.Process.Start(“regedit.exe”+“c/HKEY_本地_机器”)代码>
但我认为这只是试图将一个键写入注册表
提前谢谢
编辑:
@阿兰
-其实这个工具主要是给我自己的。我在c#或编程方面还是个新手,我正在自学。这个程序是对我能做什么的1/2测试,是我以后工作的1/2实用程序。我的目标是能够将一个键写入注册表,然后能够在几秒钟内导航到它并删除它,而无需手动搜索regedit
编辑:
@汉斯·帕桑
谢谢你提供的信息!我想如果它真的那么难实现,那就真的不值得我花时间和精力 如果有其他人通过谷歌搜索这篇文章,那么这篇文章就有点过时了
将LastKey设置为要在其中打开regedit的路径
启动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);
}
我会用另一种方式思考这个问题。你打算做什么?只允许用户直接进入键?如果要导出(备份)密钥,有更好的方法。这是SysInternals的ProcMon的一个功能。它使用UI自动化在Regedit中选择键。没有什么特别简单的事可做。当你有成千上万的用户时,你会添加这种神奇的功能。如果你想浪费时间的话,看看白色计划吧。