Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2008, 18:34   #1
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию Реестр

как на WinAPI работать с реестром? делаю так

Код:
const PATH='путь';
var
Key: HKey;
begin
RegOpenKey(HKEY_CLASSES_ROOT, PChar('SOFTWARE\Microsoft\Windows\CurrentVersion\Run'), Key);
RegSetValue(Key, PChar('myprog'), REG_SZ, PChar(PATH), sizeof(PATH));
RegCloseKey(Key);
end;
все функции ошибок не возвращиют
BioS вне форума Ответить с цитированием
Старый 30.11.2008, 21:30   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

надо пользоваться функцией RegSetValueEx, функция RegSetValue осталась от старых версий Windows 3.х только лишь для совместимости
Код:
const PATH='ПУТЬ';
var
  Key: HKey;
begin
  RegOpenKey(HKEY_LOCAL_MACHINE, PChar('SOFTWARE\Microsoft\Windows\CurrentVersion\Run'), Key);
  RegSetValueEx(Key,PChar(PATH) ,0, REG_SZ, pchar(PATH), lstrlen(pchar(PATH))+1);
  RegCloseKey(Key);
end;
rpy3uH вне форума Ответить с цитированием
Старый 01.12.2008, 14:35   #3
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
надо пользоваться функцией RegSetValueEx, функция RegSetValue осталась от старых версий Windows 3.х только лишь для совместимости
Код:
const PATH='ПУТЬ';
var
  Key: HKey;
begin
  RegOpenKey(HKEY_LOCAL_MACHINE, PChar('SOFTWARE\Microsoft\Windows\CurrentVersion\Run'), Key);
  RegSetValueEx(Key,PChar(PATH) ,0, REG_SZ, pchar(PATH), lstrlen(pchar(PATH))+1);
  RegCloseKey(Key);
end;
спасибо. а третий параметр это что?
BioS вне форума Ответить с цитированием
Старый 01.12.2008, 15:18   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

смотри описание функции, третий параметр зарезервирован
rpy3uH вне форума Ответить с цитированием
Старый 01.12.2008, 18:57   #5
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию

RegSetValueEx дает результат тот же что и RegSetValue - а именно никакой. кстати а эта функция создает или изменяет значение?
BioS вне форума Ответить с цитированием
Старый 01.12.2008, 19:38   #6
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

в твоём примере указан корневой ключ HKEY_CLASSES_ROOT, в нём нет подключа "SOFTWARE\Microsoft\Windows\Current Version\Run"
Функция RegSetValueEx создаёт значение если его нет.
rpy3uH вне форума Ответить с цитированием
Старый 01.12.2008, 19:52   #7
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
в твоём примере указан корневой ключ HKEY_CLASSES_ROOT, в нём нет подключа "SOFTWARE\Microsoft\Windows\Current Version\Run"
Функция RegSetValueEx создаёт значение если его нет.
а черт, так лохонуться. не то скопировал. все работает. спасибо
BioS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реестр JRcoker Общие вопросы Delphi 12 12.09.2008 19:14
Реестр EVO-X Win Api 2 14.07.2008 20:19
реестр Михаил Юрьевич Общие вопросы Delphi 9 12.02.2008 00:00
Реестр GAGARIN-NEW Свободное общение 2 06.01.2008 11:31