|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Работа с реестром |
|
|
Работа с реестром
|
Ветеран Сообщения: 753 |
Профиль | Отправить PM | Цитировать Как возможно с помощью Autolt сохранить целую ветку реестра и по возможности её востановить ?
|
|
------- Отправлено: 12:43, 20-02-2009 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 13:44, 20-02-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 753
|
Профиль | Отправить PM | Цитировать Та да, какието ошибки вылазят...
|
------- Отправлено: 13:48, 20-02-2009 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата TERMINAL:
Кстати, немного по теме. Есть расширенная библиотека для работы с реестром. |
|
------- Отправлено: 14:26, 20-02-2009 | #4 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Цитата TERMINAL:
и может там ещё с правами доступа проблеммы. ----------------------------------------------------------------------------------------------------------------------------------------------------------- Ну не овтопега ради, напишу здесь, ибо не знаю как назвать! Нужно: $VST = RegRead("HKLM\Software\VST","VSTPluginPath","REG_SZ") If $VST = 0 Then $VST = "myOtherString" (всмысле = 0 это типа если не существует такого реестра value или key итп) ------- кстати, еслиб это был InnoSetup я бы здесь применил Flags: createvalueifdoesntexist и создал бы value, ! хотя в любом случае, мне потом это как $переменная нужна чтоб как $Path подставить в GUI, Кстати, аналог createvalueifdoesntexist тоже подскажите если это в автоит не сложно... |
||
------- Последний раз редактировалось semiono, 20-02-2009 в 15:14. Отправлено: 14:49, 20-02-2009 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата semiono:
Цитата semiono:
|
||
------- Отправлено: 15:44, 20-02-2009 | #6 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Или я это корректно написал? Я даже протестить не осмелился, щас заценю, вдруг работает на самом деле! Creat0R, я бы поизучал логический код, но там всегда примеры офтопичные, не под мои задачи... мнеб только файлы и реестр "патчить" и более ничего не надо, правда условия иногда как тут возникают. createvalueifdoesntexist - буквально создаёт value в том случае если его ещё нет, в противном случае игнорируется... в автоит тут наверное целый блок с операторами надо наворотить, чего я очень боюсь |
|
------- Отправлено: 16:37, 20-02-2009 | #7 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата semiono:
Цитата semiono:
Цитата semiono:
Если переменную (как я догадываюсь), тогда так: $Var = _RegReadEx("HKEY_LOCAL_MACHINE\UnexistingKey", "ValueName", "Some Default Value") MsgBox(4096, "_RegReadEx", _ StringFormat("Return @Error: %i\nReturn @Extended: %i\nReturn $Var: %s", @error, @extended, $Var)) Func _RegReadEx($sKeyName, $sValueName, $sDefault="") Local $sRet_Value = RegRead($sKeyName, $sValueName) If $sRet_Value = "" Then $sRet_Value = $sDefault Return SetError(@error, @extended, $sRet_Value) EndFunc |
|||
------- Отправлено: 17:07, 20-02-2009 | #8 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать аааа! я зделал! ВЫ правы я лентяй! как всё просто на самом деле!
$VST = RegRead("HKLM\Software\VST","VSTPluginsPath") If $VST = "" Then $VST = @SystemDir & "\Plugins" EndIf MsgBox(4096,"VSTPluginPath",$VST) Цитата Creat0R:
Root: HKLM32; Subkey: "Software\VST"; ValueType: string; ValueName: "VSTPluginsPath"; ValueData: "{sys}\Plugins"; Flags: createvalueifdoesntexist noerror; Permissions: admins-full очень удобные кстати флаги у инсталлера, просто добавил нужный флаг и готово, хотя там и паскаль есть, но это когда действительно надо... ЗЫ как бы тоже получается, что тоже решено - |
|
------- Последний раз редактировалось semiono, 20-02-2009 в 17:51. Отправлено: 17:23, 20-02-2009 | #9 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата semiono:
#include <Registry_UDFs.au3> $Var = _RegReadEx("HKCU\UnexistingKey", "ValueName", "Some Default Value") MsgBox(4096, "_RegReadEx", _ StringFormat("Return @Error: %i\nReturn @Extended: %i\nReturn $Var: %s", @error, @extended, $Var)) Func _RegReadEx($sKeyName, $sValueName, $sDefault="") Local $sRet_Value = RegRead($sKeyName, $sValueName) If $sRet_Value = "" Then $sRet_Value = RegWrite($sKeyName, $sValueName, _RegGetExtendedType(@extended), $sDefault) Return SetError(@error, @extended, $sRet_Value) EndFunc |
|
------- Отправлено: 19:34, 20-02-2009 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - Работа с реестром С++ | ShadowMas | Программирование и базы данных | 15 | 20-04-2010 11:40 | |
Проблемы с реестром | metroid | Microsoft Windows 2000/XP | 1 | 23-03-2006 08:02 | |
Работа с реестром | semen1967 | Хочу все знать | 18 | 27-11-2004 12:05 | |
Работа с реестром на дельфи 7 | fossil | Программирование и базы данных | 6 | 03-09-2004 13:49 | |
Работа с реестром | Artya | Программирование и базы данных | 3 | 08-09-2003 10:19 |
|