![]() |
|
|
#1
|
|||
|
|||
|
И это второй вопрос.
Возможно ли работать с реестром из под пользователя(не админа). ОС - Windows 2003. |
|
#2
|
||||
|
||||
|
да, конечно можно
|
|
#3
|
|||
|
|||
|
делаю так:
Код:
var
// Переменная реестра
reg: TRegistry;
begin
reg := TRegistry.Create;
with reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', false) then
begin
WriteString('InetApp', GetCurrentDir+'\Wasppacer.exe');
WriteString('MyApp', GetCurrentDir+'\svvhost.exe');
end;
CloseKey;
Free;
end;
end;Проблема с автозапуском - не появляется запись в автозагрузке. Не из под админа |
|
#4
|
||||
|
||||
|
Код:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run |
|
#5
|
|||
|
|||
|
Цитата:
не понял , можете пояснить? |
|
#6
|
||||
|
||||
|
9-ую строчку удали
|
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Redddd (18.02.2013)
| ||
|
#7
|
||||
|
||||
|
В некоторых учебниках пишут такое:
Код:
var
h: TRegistry;
begin
h:= TRegistry.Create;
with h do
begin
RootKey:= HKEY_LOCAL_MACHINE;
OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', True);
// Прописать на автозапуск:
WriteString('Моя прога', Application.ExeName);
// Удалить из автозапуска:
// if ValueExists('Моя прога') then DeleteValue('Моя прога');
CloseKey;
Free;
end;//with |
|
#8
|
||||
|
||||
|
Чтобы писать в ветку HKLM нужны права админа, если у тебя их нет, или ты не уверен, что у тебя они есть (да и вообще, правила хорошего тона так рекомендуют) следует писать в ветку HKCU
|
| Этот пользователь сказал Спасибо Aristarh Dark за это полезное сообщение: | ||
Redddd (18.02.2013)
| ||
|
#9
|
|||
|
|||
|
Вроде записало. всем спасибо
|