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

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

26.09.2007, 17:16. Показов 8376. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru