Главная страница
    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.007 c
14-50948
Извращенец
2002-08-21 18:05
2002.09.16
В чем заключается разница между DirectX русским и английским?


4-51035
Stany
2002-07-23 20:28
2002.09.16
System tray


4-51042
hovl
2002-07-23 20:24
2002.09.16
UNLOADDLL


1-50716
Andre V.
2002-09-04 13:56
2002.09.16
Закрасить наследника BUTTON


14-50924
AL2002
2002-08-20 16:15
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский