Форум: "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) = 4RegSetValue(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