2015-04-17 2 views
2

Я хочу запустить эту команду DOS на C#, не выполняя команду DOS.Как удалить ключ реестра?

REG DELETE HKLM\SOFTWARE\Wow6432Node\WindowsApplication1\Status /f 
+0

Как насчет использования существующей функциональности из платформы .NET? _ [Как удалить значение реестра в C#] (http://stackoverflow.com/questions/531151/how-to-delete-a-registry-value-in-c-sharp) _ –

ответ

0

Вот один из подходов. Обратите внимание, что вы должны передать true OpenSubKey, чтобы получить разрешение на запись.

var hklm = Microsoft.Win32.Registry.LocalMachine; 
var subkey = hklm.OpenSubKey("Software\\Wow6432Node\\WindowsApplication1", true); 
subkey.DeleteSubKey("Status"); 
+0

Спасибо, Билл. Это прекрасно работает. – JayNaz

1

https://msdn.microsoft.com/en-us/library/h3yfwzfx.aspx

Registry.CurrentUser.DeleteSubKeyTree("Test9999"); 

лучший учебник для вашего вопроса

http://www.jagjot.com/2013/02/read-write-delete-windows-registry-c/

+0

Что я должен дать для " test9999 "? WindowsApplication1 или Статус или WindowsApplication1 \\ Статус ??? – JayNaz

+0

в ссылке ниже полный ответ на ваш вопрос 'Программное обеспечение \\ Wow6432Node \\ WindowsApplication1' –

1

Или, если вы хотите запустить команду DOS из C#, то вы можете использовать

System.Diagnostics.Process.Start("cmd.exe", "REG DELETE HKLM\SOFTWARE\Wow6432Node\WindowsApplication1\Status /f") 
+0

Это не сработало для меня. Просто откройте командную строку как обычно и успешно передайте эту строку кода. Но ключ не удаляется. – JayNaz

Смежные вопросы