|
#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
|
|||
|
|||
Вроде записало. всем спасибо
|