Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/39: Рейтинг темы: голосов - 39, средняя оценка - 4.79
 Аватар для Jmast
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 15

Как изменить имя ключа реестра???

26.09.2007, 17:16. Показов 8316. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
...собственно.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.09.2007, 17:16
Ответы с готовыми решениями:

Как программно изменить значение ключа реестра, если нет прав на доступ?
Здравствуйте. Написал просмотрщик графики, хочу добавить в него единственную настройку - установку файловых ассоциаций с графическими...

Как изменить имя ключа в коллекции?
Есть коллекция Dictionary<String, Process> PrcDic; (Process - самодельный класс). А как изменить значение одного из ключей...

Изменить имя пользователя через редактирование реестра
Подскажите как изменить имя существующего пользователя через реестр, или как еще можно изменить не "визуальным" способом, а через...

15
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
26.09.2007, 17:51
ну вот пример:
long lp=0;
HKEY Handle;
RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon", 0, KEY_ALL_ACCESS, &Handle);
unsigned char res[4] = {0, 0, 0, 0};
RegSetValueEx(Handle, "AutoRestartShell", 0, REG_DWORD, res, 4);
RegCloseKey(Handle);
EnumWindows((WNDENUMPROC)EnumProc,lp);
0
 Аватар для Jmast
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 15
27.09.2007, 14:05  [ТС]
О спасибо большое, а как изменить имя значения? =)
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
27.09.2007, 14:24
глянь в апишных функциях, сам точно не знаю
0
 Аватар для Jmast
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 15
27.09.2007, 14:25  [ТС]
нету там, поэтому и спрашиваю
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
27.09.2007, 14:52
есть подозрение, что тут надо старый ключ килять, а новый создавать
0
 Аватар для Jmast
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 15
28.09.2007, 12:08  [ТС]
я тот код вставил в проект, там непрописана переменная EnumProc нигде, какого она типа должна быть?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
28.09.2007, 12:41
пардон, моя вина, не все скопировал:
bool __stdcall EnumProc(HWND hWnd,/*LPARAM*/long/*lp*/);
0
 Аватар для Jmast
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 15
28.09.2007, 13:33  [ТС]
чёт, нехочет =(
error LNK2019: unresolved external symbol "bool __stdcall EnumProc(struct HWND__ *,long)" (?EnumProc@@YG_NPAUHWND__@@J@Z) referenced in function _wmain
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
28.09.2007, 14:08
тебе она не надо, это просто функция киляет Explorer, из проги пример вырвал, последняя строчка не нужна:

if(isHideExplorer){
long lp=0;
HKEY Handle;
RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon", 0, KEY_ALL_ACCESS, &Handle);
unsigned char res[4] = {0, 0, 0, 0};
RegSetValueEx(Handle, "AutoRestartShell", 0, REG_DWORD, res, 4);
RegCloseKey(Handle);
EnumWindows((WNDENUMPROC)EnumProc,lp); // ремарь ее, она не по теме
}
0
 Аватар для Jmast
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 15
01.10.2007, 11:24  [ТС]
блин , всё равно не пойму, этот кусок просто создает параметр, а ключ не переименовывает.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
01.10.2007, 19:00
так он меняет значение,а не переименовывает, переименовать видать можно удалением старого ключа и созданием нового
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
02.10.2007, 10:18
я тут по инету порылся, вот что пишут умные люди:

Как переименовать ключ в реестре?
Автор: Александр Шаргин
Опубликовано: 18.02.2001
Исправлено: 13.03.2005
Версия текста: 1.0
К сожалению, в Win32 API нет функции, которая выполняла бы переименование ключа в реестре. Если проследить, каким образом редактор regedit.exe переименовывает ключ, нетрудно убедиться, что он просто копирует заданный ключ на новое место, а затем удаляет его на старом. Этой же стратегией можем воспользоваться и мы. В самом крупном приближении требуемая функция выглядит так.

RenameKey(HKEY hParentKey, LPCTSTR szSrc, LPCTSTR szTarg)
{
// Копируем szSrc в szTarg.
// Удаляем szSrc.
}


Копирование ключей в реестре подробно рассмотрено в статье "Как скопировать ключ в реестре?", а удаление ключей - в статье "Как удалить ключ из реестра?". Нам остаётся только воспользоваться функциями CopyKey и DeleteKey, описанными в этих статьях. При этом функция RenameKey приобретает следующий вид.

LONG DeleteKey(HKEY hParentKey, LPCTSTR szKey);
LONG CopyKey(HKEY hSrcParent, HKEY hTargParent, LPCTSTR szSrcKey, LPCTSTR szTargKey);

RenameKey(HKEY hParentKey, LPCTSTR szSrc, LPCTSTR szTarg)
{
LONG nRes = CopyKey(hParentKey, hParentKey, szSrc, szTarg);
if(nRes != ERROR_SUCCESS)
return nRes;

return DeleteKey(hParentKey, szSrc);
}


В качестве примера использования этой функции рассмотрим код, который изменяет имя ключа "Some key" из раздела HKEY_LOCAL_MACHINE на "Yet another key".

RenameKey(HKEY_LOCAL_MACHINE, "Some key", "Yet another key");
0
 Аватар для Jmast
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 15
02.10.2007, 15:27  [ТС]
Спасибо, а ссылку на источник можно? а то я знаю как удалить ключ... =)
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
02.10.2007, 16:16
http://rsdn.ru/?summary/126.xml - статья с этого сайта, поищи тут
0
 Аватар для Jmast
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 15
02.10.2007, 16:18  [ТС]
уже нашёл, ещё раз спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.10.2007, 16:18
Помогаю со студенческими работами здесь

Проверка наличия определённого ключа реестра и добавление этого ключа в реестр при его отсутствии
Добрый день! Пытаюсь разобраться с bat файлом, который будет запускаться при старте системы и проверять один ключ реестра. При отсутствии...

Как произвести проверку ключа реестра?
Как произвести проверку ключа реестра? Т.е Если существуете такой то ключ, с таким то значением, то...(выполняется какое то событие)

Как достать из массива метод имя которого в виде ключа
Здравствуйте. Уважаемые форумчане, подскажите. Есть массив с именами методов класса. Что-то типа: array( ...

Изменение ключа реестра
Добрый день, подскажите пожалуйста как редактировать ключ реестра так, что бы время демоверсии прошло быстрее? С Уважением!

Чтение ключа реестра
Необходимо написать функцию или процедуру, которая бы считывала ключ из реестра, и при запуске программы(твикер для WinXP) автоматически...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru