2016-12-26 8 views
0

Вот код, который я использую, чтобы изменить значения ключей в реестре:Изменение значения (по умолчанию) в реестре с Python

import winreg 

key = winreg.CreateKey(winreg.HKEY_CURRENT_USER, 'AppEvents\\Schemes\\Apps\\.Default\\.Default\\.Current') 
winreg.SetValueEx(key, '(Default)', 0, winreg.REG_SZ, '') 
key.Close() 

У меня не было никаких проблем с использованием этого на каких-либо ключей в реестре. По какой-то причине, если значение имеет значение (Default), код выше не работает. Он просто вставляет другое значение с тем же именем. Это кажется странным, поскольку ни один ключ не может иметь 2 значения с тем же именем.

Я предполагаю, что имена выглядят точно так же, но в реестре они не совпадают. Я не знаю, почему это было бы.

ответ

1

Значение, которое вы видите в списке как обычно (по умолчанию) в реестре не имеет имени "(Default)", оно вообще не имеет значения, поскольку оно является значением по умолчанию. (Средство просмотра реестра просто отображает текст (по умолчанию), чтобы указать, что означает значение.) Вы можете передать пустую строку ("") или, возможно, None в качестве второго аргумента SetKeyEx, чтобы записать значение по умолчанию.

+0

Работа '' '' и 'None'. Благодарю. – user2951249

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

  • Нет связанных вопросов^_^