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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.039 c
14-1129747717
Vulko
2005-10-19 22:48
2005.11.13
помогите исследовать а сходимость ряд


2-1129620796
T10000
2005-10-18 11:33
2005.11.13
Работа с датой ?


2-1129697638
syte_ser78
2005-10-19 08:53
2005.11.13
Сново о украинской букве І


6-1122448409
ZSergey
2005-07-27 11:13
2005.11.13
ServerSocket и ClientSocket


6-1122621903
Klopan
2005-07-29 11:25
2005.11.13
IP > Region





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