Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Программное редактирование реестра.  (Прочитано 20156 раз)
0 Пользователей и 1 Гость смотрят эту тему.
bukashko
Гость
« : 24-02-2009 10:19 » 

Добрый день!

У меня вопрос - как программно изменить запись в реестре?
Конкретно, мне надо изменить запускаемый файл после загрузки виндов.
По умолчанию там записано "explorer.exe", а мне надо запускать свою прогу.
Сейчас приходится редактировать реестр в ручную и все работает нормально,
но хочется сделать это запустив  прогаммульку...
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 24-02-2009 11:45 » 

http://msdn.microsoft.com/en-us/library/ms724875(VS.85).aspx
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
bukashko
Гость
« Ответ #2 : 25-02-2009 07:07 » 

Спасибо за ответ. Он очень полный и подробный. Если я изучу все эти разделы ( потратив достаточно времени ) безусловно найду решения своей задачи. Однако, хотелось бы решить пока одну маленькую частную проблемку.

В реестре:
   
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNt\CurrentVersion\Winlogon

  в поле   Shell   записано значение -  Explorer.exe 
  хочется записать туда другое значение - Ivl.exe.

 Как это сделать программно? 

Если неспортивно прямо дать подсказку, то хоть намекните, какую функцию из множества приведенных

в      http://msdn.microsoft.com/en-us/library/ms724875(VS.85).aspx       надо использовать для этой цели...
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 25-02-2009 07:16 » 

http://msdn.microsoft.com/en-us/library/ms724897(VS.85).aspx - открыть ключ
http://msdn.microsoft.com/en-us/library/ms724923(VS.85).aspx - записать значение
« Последнее редактирование: 25-02-2009 07:18 от Вад » Записан
bukashko
Гость
« Ответ #4 : 25-02-2009 10:44 » 

Всем большое спасибо... Все получилось...
Привожу готовый код, для тех, кому понадобится подобная задача...

   LONG lResult;
   HKEY hKey;
   LPTSTR lpSubKey="SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon";

   lResult=RegOpenKeyEx(HKEY_LOCAL_MACHINE,
                                lpSubKey,
              0,
              KEY_SET_VALUE ,
              &hKey);

   if (lResult != ERROR_SUCCESS)
           {
       printf("Key not found.\n");
      return FALSE;
           }

   LPTSTR lpName="Shell";
   LPTSTR lpValueEx="C:\\buranchik\\ivl.exe";

   lResult=RegSetValueEx(hKey,
              lpName,
              0,
              REG_SZ,
                                         (LPBYTE)lpValueEx,
              (DWORD)(lstrlen(lpValueEx)+1)*sizeof(TCHAR));

   if (lResult != ERROR_SUCCESS)
           {
      printf("Function fails.\n");
      return FALSE;
            }

Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 25-02-2009 11:37 » 

а у меня такая библиотечка накопилась, может пригодится Улыбаюсь

там не чистил, поэтому, что не скомпилится - то просто вырезать.

* regwork2.rar (6.35 Кб - загружено 1233 раз.)
Записан

bukashko
Гость
« Ответ #6 : 25-02-2009 11:46 » 

Алексей1153++,
чего-то не скачивается...
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #7 : 25-02-2009 11:46 » 

bukashko, я попробовал - скачалось
Записан

bukashko
Гость
« Ответ #8 : 25-02-2009 11:56 » 

Алексей1153++,

нехочет... чудеса...
брось плз. на мыло...
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #9 : 25-02-2009 11:57 » 

bukashko,
http://slil.ru/26997419
Записан

bukashko
Гость
« Ответ #10 : 25-02-2009 12:09 » 

Алексей1153++,

Спасибо... теперь скачалось...
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #11 : 25-02-2009 12:12 » 

ага, пример использования забыл

Код:
CRegWork2 rw2;
if(rw2S.OpenKeyIn_HKEY_CURRENT_USER(имя_ключа_с_путём,true))//true - значит, создать, если ещё нету
{
//сохранение настроек
rw2.Data_DWORD_Set("имя параметра",значение);
}
Записан

Malaja
Команда клуба

de
Offline Offline
Пол: Женский

« Ответ #12 : 27-02-2009 09:01 » 

Люди,

простите тОрмоза! Скромно так...
Я только сейчас увидела тему...
Я года 2 назад подготовила статью на эту тему, но выложить не успела.
Вот как раз сейчас порылась и нашла ее снова  Отлично
Поэтому я ее пока подвешу к теме, а потом выясню, как ее подвесить на форуме.

* stat'ja_registr.zip (61.72 Кб - загружено 1174 раз.)
Записан

холоднокровней, Маня, Ви не на работе
---------------------------------------
четкое определение сущности бытия:
- А мы в прошлом или в будущем?- спросила Алиса.
- Мы в жопе, - ответил кролик.
- А "жопа" - это настоящее? - спросила Алиса.
- А "жопа" - это у нас символ вечности.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 27-02-2009 09:11 » 

Malaja, попросись в авторы, там все легко Улыбаюсь Если че поможем.
Джон, барышня просют Улыбаюсь
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #14 : 27-02-2009 09:26 » 

Круто, Ирину уже добавли в авторы в 10:25
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Malaja
Команда клуба

de
Offline Offline
Пол: Женский

« Ответ #15 : 27-02-2009 09:29 » 

Слав, я уже Рому майлом на эту тему озадачила Ага
Я думала, что эта тема уже никому не нужна, а оказывается, что это не так.

Джон,
мож это Рома уже успел?
Записан

холоднокровней, Маня, Ви не на работе
---------------------------------------
четкое определение сущности бытия:
- А мы в прошлом или в будущем?- спросила Алиса.
- Мы в жопе, - ответил кролик.
- А "жопа" - это настоящее? - спросила Алиса.
- А "жопа" - это у нас символ вечности.
RXL
Технический
Администратор

ru
Online Online
Пол: Мужской

WWW
« Ответ #16 : 02-03-2009 18:42 » 

Письмо получил. Завтра вечером введу.

Слав, если хочешь сам ввести - стукни в ЛС - я перешлю тебе.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines