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

Вниз

Реестр. Почему 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
1-50815
DeMoN-777
2002-09-03 17:33
2002.09.16
Медиа


8-50870
alexey_potapov
2002-05-16 15:53
2002.09.16
Как в Win синхронизировать вывод на экран его обновлением


14-50981
France
2002-08-22 14:50
2002.09.16
ShowMessage или MessageDlg без uses Dialog


1-50723
BT
2002-09-05 13:26
2002.09.16
Published and Variant


14-50949
Oleg_Gashev
2002-08-21 19:38
2002.09.16
Что-то в магазине не видел. А сколько стоит?





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