Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.11.2014, 22:24
helper999999 helper999999 вне форума
Прохожий
 
Регистрация: 30.09.2014
Сообщения: 32
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию Работа с реестром

подскажите где ошибка, что не указал?
Код:
procedure CreateKeyRun;
var
  key:HKEY;
begin
RegOpenKey(HKEY_CURRENT_USER, PChar('SOFTWARE\MyProgmarINI'), Key);
  RegSetValueEx(key,'FileCode',0,REG_SZ,PChar('1'),lstrlen(PChar('1'))+1);
  RegCloseKey(key);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
CreateKeyRun;
end;

Ключ не создается хотя при копиляции все нормально, и ошибок при работе не выдает.
Ответить с цитированием
  #2  
Старый 29.11.2014, 07:35
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

RegOpenKey лишь открывает существующий подраздел, если его нет, он не создаётся. Используйте RegCreateKey
Ответить с цитированием
  #3  
Старый 30.11.2014, 22:27
helper999999 helper999999 вне форума
Прохожий
 
Регистрация: 30.09.2014
Сообщения: 32
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию

а как создать ключ DWORD?
Код:
RegSetValueEx(Key,NameKey,0,REG_SZ,PChar(Value),lstrlen(PChar(Value))+length(Value));

Код выше создает REG_SZ, я пробывал заменить REG_DWORD, но не подходит.
Ответить с цитированием
  #4  
Старый 30.11.2014, 23:06
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Код:
RegSetValue(Key, NameKey, REG_DWORD, @Value, SizeOf(Cardinal));
Ответить с цитированием
  #5  
Старый 01.12.2014, 01:22
helper999999 helper999999 вне форума
Прохожий
 
Регистрация: 30.09.2014
Сообщения: 32
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию

пишу следующее:
Код:
procedure CreateKeyRun;
var
Key:HKEY;
Value: String;
begin
RegCreateKeyEx(HKEY_CURRENT_USER,'Software\MyProgramINI',0,nil,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,Nil,Key,nil);
RegSetValueEx(key,'FileCode',0,REG_DWORD,@Value,SizeOf(Cardinal));
RegCloseKey(Key);
end;

нузно значение 1 а он постоянно пишет 0
Ответить с цитированием
  #6  
Старый 01.12.2014, 01:31
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вы ведь хотите DWORD записать, а суёте туда стринг - в скобках уже тип данных указан
Ответить с цитированием
  #7  
Старый 04.12.2014, 18:43
helper999999 helper999999 вне форума
Прохожий
 
Регистрация: 30.09.2014
Сообщения: 32
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию

я вас не понял, причем тут тип он мне вместо 1 вписывает 0, даже если его не указывать, а если и указать то ересь пишет какую то.
Ответить с цитированием
  #8  
Старый 04.12.2014, 18:49
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Код:
procedure CreateKeyRun;
var
Key:HKEY;
Value: Cardinal;
begin
Value:= 1;
RegCreateKeyEx(HKEY_CURRENT_USER,'Software\MyProgramINI',0,nil,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,Nil,Key,nil);
RegSetValueEx(key,'FileCode',0,REG_DWORD,@Value,SizeOf(Cardinal));
RegCloseKey(Key);
end;
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:59.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025