bukashko
Гость
|
|
« : 24-02-2009 10:19 » |
|
Добрый день!
У меня вопрос - как программно изменить запись в реестре? Конкретно, мне надо изменить запускаемый файл после загрузки виндов. По умолчанию там записано "explorer.exe", а мне надо запускать свою прогу. Сейчас приходится редактировать реестр в ручную и все работает нормально, но хочется сделать это запустив прогаммульку...
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #1 : 24-02-2009 11:45 » |
|
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "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 надо использовать для этой цели...
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #3 : 25-02-2009 07:16 » |
|
|
|
« Последнее редактирование: 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; }
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #5 : 25-02-2009 11:37 » |
|
а у меня такая библиотечка накопилась, может пригодится там не чистил, поэтому, что не скомпилится - то просто вырезать.
|
|
|
Записан
|
|
|
|
bukashko
Гость
|
|
« Ответ #6 : 25-02-2009 11:46 » |
|
Алексей1153++, чего-то не скачивается...
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #7 : 25-02-2009 11:46 » |
|
bukashko, я попробовал - скачалось
|
|
|
Записан
|
|
|
|
bukashko
Гость
|
|
« Ответ #8 : 25-02-2009 11:56 » |
|
Алексей1153++,
нехочет... чудеса... брось плз. на мыло...
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #9 : 25-02-2009 11:57 » |
|
|
|
|
Записан
|
|
|
|
bukashko
Гость
|
|
« Ответ #10 : 25-02-2009 12:09 » |
|
Алексей1153++,
Спасибо... теперь скачалось...
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #11 : 25-02-2009 12:12 » |
|
ага, пример использования забыл CRegWork2 rw2; if(rw2S.OpenKeyIn_HKEY_CURRENT_USER(имя_ключа_с_путём,true))//true - значит, создать, если ещё нету { //сохранение настроек rw2.Data_DWORD_Set("имя параметра",значение); }
|
|
|
Записан
|
|
|
|
Malaja
|
|
« Ответ #12 : 27-02-2009 09:01 » |
|
Люди, простите тОрмоза! Я только сейчас увидела тему... Я года 2 назад подготовила статью на эту тему, но выложить не успела. Вот как раз сейчас порылась и нашла ее снова Поэтому я ее пока подвешу к теме, а потом выясню, как ее подвесить на форуме.
|
|
|
Записан
|
холоднокровней, Маня, Ви не на работе --------------------------------------- четкое определение сущности бытия: - А мы в прошлом или в будущем?- спросила Алиса. - Мы в жопе, - ответил кролик. - А "жопа" - это настоящее? - спросила Алиса. - А "жопа" - это у нас символ вечности.
|
|
|
Sla
|
|
« Ответ #13 : 27-02-2009 09:11 » |
|
Malaja, попросись в авторы, там все легко Если че поможем. Джон, барышня просют
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Джон
просто
Администратор
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
|
|
« Ответ #15 : 27-02-2009 09:29 » |
|
Слав, я уже Рому майлом на эту тему озадачила Я думала, что эта тема уже никому не нужна, а оказывается, что это не так. Джон, мож это Рома уже успел?
|
|
|
Записан
|
холоднокровней, Маня, Ви не на работе --------------------------------------- четкое определение сущности бытия: - А мы в прошлом или в будущем?- спросила Алиса. - Мы в жопе, - ответил кролик. - А "жопа" - это настоящее? - спросила Алиса. - А "жопа" - это у нас символ вечности.
|
|
|
RXL
|
|
« Ответ #16 : 02-03-2009 18:42 » |
|
Письмо получил. Завтра вечером введу.
Слав, если хочешь сам ввести - стукни в ЛС - я перешлю тебе.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
|