Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

RegOpenKey   Найти похожие ветки 

 
psa247 ©   (2005-05-08 12:36) [0]


reg : hkey;
tmp : string;
begin
  RegOpenKey(HKEY_LOCAL_MACHINE,
  "SOFTWARE\Microsoft\Windows\CurrentVersion\Run\", reg);
  tmp:= Path+"\"+ Check_OS +" /start";
  if CBMain.Checked then
  RegSetValue(reg,"UMP",REG_SZ,PChar(tmp),sizeof(tmp))
else RegDeleteKey(reg, "UMP");
  RegCloseKey(reg);

Подскажите, почему в значении параметра "UMP" пишется бред?
Заранее благодарен


 
Eraser ©   (2005-05-08 12:40) [1]

psa247 ©

Потому, что tmp должна иметь тип PChar, и у для неё должна быть выделена память (GetMem).


 
VMcL ©   (2005-05-08 12:41) [2]

>>psa247 ©   (08.05.05 12:36)

>Подскажите, почему в значении параметра "UMP" пишется бред?

Потому что sizeof(tmp) = 4

RegSetValue(reg, "UMP", REG_SZ, PChar(tmp), Length(tmp))


 
psa247 ©   (2005-05-08 13:46) [3]

Вот что накопал:

The RegOpenKey function opens the specified key. This function is provided for compatibility with Windows version 3.1. Win32-based applications should use the RegOpenKeyEx function.

The RegSetValue function associates a value with a specified key. This value must be a text string and cannot have a name. This function is provided for compatibility with Windows version 3.1. Win32-based applications should use the RegSetValueEx function, which allows an application to set any number of named values of any data type.

Т.е. вот так будет правильно

RegOpenKeyEX(HKEY_LOCAL_MACHINE,
"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, KEY_SET_VALUE, reg);
  tmp:= Path+"\"+ Check_OS +" /start";
  if CBMain.Checked then begin
  RegSetValueEX(reg, "UMP",0,REG_SZ, PChar(tmp), Length(tmp));
  end
else RegDeleteKey(reg, "UMP");
  RegCloseKey(reg);


Спасибо


 
Eraser ©   (2005-05-08 13:53) [4]

psa247 ©

Я вообще пользуюсь TRegistry.... имхо удобнее.


 
psa247 ©   (2005-05-08 14:11) [5]

Видел в FAQ вопрос по косяку TRegistry с доступом к HKLM, да и весит он много. Пришлось проект переписывать на WinAPI



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.054 c
3-1116525920
suharew
2005-05-19 22:05
2005.06.29
Строка в DBGrig другим цветом


3-1116000911
NikNet
2005-05-13 20:15
2005.06.29
А как подключится к MSSQL или там работать с MSSQL на WinAPI?


3-1116215612
Андрей1
2005-05-16 07:53
2005.06.29
Каскадное обновление


14-1117554968
Новичоккк
2005-05-31 19:56
2005.06.29
Простой вопрос по ASM


4-1115532157
Неуловимый Джо
2005-05-08 10:02
2005.06.29
имя exe-файла сервиса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский