Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.13;
Скачать: CL | DM;

Вниз

Реестр   Найти похожие ветки 

 
illy   (2005-10-13 22:44) [0]

Приветствую!
Помогите разобраться.
Имеется процедура в которую передаются два параметра, HKEY_LOCAL_MACHINE и "Softvare".

procedure TForm1.ToFile(Hkey_: HKEY; KeyStr_: string);
var
 Key: HKEY;
 ErrorCode: integer;
 ver: TOSVERSIONINFO;
 TokenHandle: THandle;
 tp, prevst: TTokenPrivileges;
 rl:DWORD;
 lpMsgBuf: PChar;
begin
 ErrorCode:=RegOpenKeyEx(Hkey_, PChar(KeyStr_), 0, KEY_READ, Key);
 if ErrorCode=ERROR_SUCCESS then
 try
   ver.dwOSVersionInfoSize := Sizeof(ver);
   GetVersionEx(ver);
   if ver.dwPlatformId=VER_PLATFORM_WIN32_NT then begin
     OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,TokenHandle);
     LookupPrivilegeValue(Nil,"SeBackupPrivilege",tp.Privileges[0].Luid);
     tp.PrivilegeCount:=1;
     tp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
     AdjustTokenPrivileges(TokenHandle, false, tp, SizeOf(prevst), prevst, rl);
   end;

   ErrorCode:=RegSaveKey(Key, "tempreg.tmp", nil);
 finally
   RegCloseKey(Key);
 end;

 if ErrorCode<>ERROR_SUCCESS then  MessageBox(0, "Ошибка", "", MB_ICONERROR);
end;

RegSaveKey возвращает ошибку, если не ошибаюсь код 2(файл не найден), и создает файл нулевой длинны.
Подскажите в чем проблема?


 
GanibalLector ©   (2005-10-14 01:52) [1]

>Softvare
Нет такого. Есть SoftWare

Код в [0] рабочий. Вызывайте правильно ;) Например :
ToFile(HKEY_LOCAL_MACHINE,"Software\Borland");


 
evvcom ©   (2005-10-14 14:02) [2]

Инструмент такой есть, regedit.exe называется. Иногда позволяет прояснить картину, ну хотя бы по поводу правильности написания имен.


 
illy   (2005-10-21 02:23) [3]


> Код в [0] рабочий. Вызывайте правильно ;) Например :
> ToFile(HKEY_LOCAL_MACHINE,"Software\Borland");

Если можно, подробней пожалуйста, не разберусь никак.


 
illy   (2005-10-21 02:43) [4]


> Код в [0] рабочий. Вызывайте правильно ;) Например :
> ToFile(HKEY_LOCAL_MACHINE,"Software\Borland");

Вызов идет уменя так:
procedure TForm1.Button2Click(Sender: TObject);
begin
ToFile(HKEY_LOCAL_MACHINE,"Software");
end;



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

Текущий архив: 2005.11.13;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.037 c
3-1127800437
XGarik
2005-09-27 09:53
2005.11.13
Обращение к полю XML


9-1120024771
cyborg
2005-06-29 09:59
2005.11.13
Как узнать имена текстур из X Mesh?


10-1107435819
HollowMan
2005-02-03 16:03
2005.11.13
Инициализация переменных во внутреннем сервере автоматизации DLL


14-1129904003
oldman
2005-10-21 18:13
2005.11.13
Российский траулер сумел смыться...


14-1129904930
Unicum
2005-10-21 18:28
2005.11.13
Симуляция испарения калпи





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский