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

Вниз

Реестр. Почему AV?   Найти похожие ветки 

 
Mazenrat   (2002-09-04 15:02) [0]

Привет. Процедура выдает AV при удалении. Где я ошибся?

procedure WriteAndDeleteAutoRunKey;
var
RK : HKEY;
Size : String;
begin
if RegCreateKeyEx(HKEY_LOCAL_MACHINE,
"\Software\Microsoft\Windows\CurrentVersion\Run\222222222", 0, nil,
REG_OPTION_NON_VOLATILE, KEY_WRITE, nil, RK, nil) = ERROR_SUCCESS then
begin
Size := "My Programm";
//Проверяем: есть ли параметр My Programm
if RegQueryValueEx(RK, "My Programm", nil, nil, nil, @Size) = ERROR_SUCCESS then
//Если есть - удаляем
RegDeleteValue(RK, "My Programm")
else
//Если нет - создаем
RegSetValueEx(RK, "My Programm", 0, REG_SZ, PChar(ParamStr(0)), 0);
RegCloseKey(RK);
end;
end;


 
Набережных С.   (2002-09-04 16:56) [1]


> Где я ошибся?

Здесь:
if RegQueryValueEx(RK, "My Programm", nil, nil, nil, @Size) = ERROR_SUCCESS



 
Mazenrat   (2002-09-04 17:02) [2]

Нельзя ли поконкретней?


 
Набережных С.   (2002-09-04 19:21) [3]

А нельзя ли было поконкретней написать, в какой строке АВ?


 
Ученик ©   (2002-09-04 19:35) [4]

uses
RegStr;

function ServiceManagerInstall(const DisplayName,
FilePath : string;
Install : Boolean) : Boolean;
var
Key : HKEY;
Disposition: Integer;
begin
Result := False;
if RegCreateKeyEx(HKEY_LOCAL_MACHINE, REGSTR_PATH_RUN, 0, nil,
REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, nil, Key,
@Disposition) = ERROR_SUCCESS then try
if Install then
RegSetValueEx(Key, PChar(DisplayName), 0, REG_SZ, PChar(FilePath), Length(FilePath))
else
RegDeleteValue(Key, PChar(DisplayName));
Result := True
finally
RegCloseKey(Key)
end
end;

function ServiceManagerExists(const DisplayName : string) : Boolean;
var
Key : HKey;
begin
if RegOpenKeyEx(HKEY_LOCAL_MACHINE, REGSTR_PATH_RUN, 0, KEY_QUERY_VALUE,
Key) = ERROR_SUCCESS then try
Result := RegQueryValueEx(Key, PChar(DisplayName), nil, nil, nil,
nil) = ERROR_SUCCESS
finally
RegCloseKey(Key)
end else
Result := False
end;


 
Mazenrat   (2002-09-04 19:45) [5]

Ученику спасибо!!!!!!!!!!!!!!!!!!!!

2Набережных С.

Это твоё:

>
> Набережных С. (04.09.02 19:21)
> А нельзя ли было поконкретней написать, в какой строке АВ?


Это моё: (Куда уж конкретней.)

> Привет. Процедура выдает AV при удалении. Где я ошибся?

Для тех, кто в танке - RegDeleteValue(RK, "My Programm")



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
8-50878
Sopromat
2002-05-11 00:43
2002.09.16
Помогите!!! Нужно построить график функции вида: X1^2+X2^2......


14-50952
Udjin
2002-08-21 16:59
2002.09.16
mp3 плеер под Linux


1-50855
MaxSit
2002-09-04 14:43
2002.09.16
Срочно!!! Нужна помощь по хукам.


1-50785
maxim2
2002-09-03 14:25
2002.09.16
Хочу сделать такое окно как редактор кода в делфи


14-50970
Proz
2002-08-08 11:31
2002.09.16
Как заблокировать клавиатуру ?