Показать полную графическую версию : [решено] Проблема с ключами в реестре
DJ Electronic
15-05-2007, 11:29
Вобщем у меня назревал давно такой вопрос может где то это и было но счас искать бесполезно вобем имеем ключ:
@="\"C:\\WINDOWS\\папка с прогой\\прога.exe\" /F \"%1\\\""
Как его отвязать от диска? я же не могу создавать аддон только для диска С если потом кто нить винду на D поставит то работать не будет но переменные или как их назвать вроде %SYSTEMROOT% и тд...в реестре не работают! в некоторых местах работало так:
@="\"\\WINDOWS\\папка с прогой\\прога.exe\" /F \"%1\\\"" но в этом случае команда вызывается из контекстного меню файла и выдаёт ошибку! подскажите как быть, может через sysoc как получится (тоесть в inf файле это проще будет сделать)
DJ Electronic попробуй так REGEDIT4
[HKEY_CURRENT_USER\Software\прога.exe]
@="\"%SYSTEMROOT%\\папка с прогой\\прога.exe\" /F \"%1\\\""
DJ Electronic
15-05-2007, 12:06
zuckij, не работает! вобще то реестр не понимает %SYSTEMROOT% .... даже если запуск программы прописывать в автозапуск !!!!
dimich22
15-05-2007, 12:50
DJ Electronic
Я бы посоветовал воспользоваться утилитой Reg.exe, входящей в набор утилит Windows 2000 Support Tools
Отдельно можно скачать здесь (http://www.ifolder.ru/2013929)
jameszero
15-05-2007, 13:09
reg.exe входит в дистрибутив Windows XP
Пример использования можно посмотреть здесь (http://www.oszone.ru/display.php?id=2762)
DJ Electronic
15-05-2007, 13:27
jameszero, только написать хотел, только вот мне от этого не жарко не холодно:
REG ADD HKCR\*\shell\changeIcon\command /v @ /t REG_SZ /d ""%SYSTEMROOT%\прога\прога.exe" /F "%1\""
Всё рано значение то всталяется с %SYSTEMROOT% не то что мне нужно! вот если бы переменную обрабатывала команда REG тогда другое дело тоесть превращала %SYSTEMROOT% в C:\WINDOWS\ эх нету видно решения у этой проблемы!
dimich22
15-05-2007, 13:29
Вообще да. Я ей просто пользуюсь еще с Windows 2000
DJ Electronic
15-05-2007, 13:40
кстати ещё и /v @ неверно работает! как пустоту то вставлять! в reg файлах значение по умолчанию @ а тут без папраметра вобще или просто /v команда неверно обрабатывается!
dimich22
15-05-2007, 13:49
Для всех - reg /?
Чтобы добавить параметр по умолчанию используйте ключ /ve
DJ Electronic
Чтобы "вставить" в параметры reg.exe значения переменных я просто запускаю ее из CMD-файла ;)
Например, как здесь (http://forum.oszone.net/post-586846-117.html).
DJ Electronic
15-05-2007, 15:37
Ладно со всем этим мы разобрались но не выходит всё равно нужно получить параметр чтобы в реестре выглядел так:
"C:\Windows\прога\прога.exe" /F "%1" !!!не кавычкой больше или меньше!!!никак не выходит!!! сами попробуйте такое сочетание получить
Может на INF попробовать примерно так:
[Version]
Signature=$Chicago$
[DefaultInstall]
AddReg = Settings.Reg
[Settings.Reg]
HKCU,"Software\MySoft","Params",,"""%25%\прога\прога.exe"" /F ""%1"""Запуск INF из BAT примерно так:
SET wdir=%~dp0
SET wdir=%wdir:~0,-1%
rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %wdir%\Settings.inf
DJ Electronic
15-05-2007, 16:23
vek, респект, пасиб всё ок, работает, тока не %25% а %10% ;) похоже единственный способ в моём случае, кстати можно просто правой кнопкой по файлу - установить))) этого хватит в данном случае
zuckij, не работает! вобще то реестр не понимает %SYSTEMROOT% .... даже если запуск программы прописывать в автозапуск !!!! ну тогда я незнаю, у меня работат смотри пример импорт во время установки, и что сейчас в натуре, хотя думаю YuriPet сделал более грамотно. Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes] "Windows Green"="\"%SystemRoot%\\Cursors\\Green arrow.cur,%SystemRoot%\\Cursors\\Green help.cur,%SystemRoot%\\Cursors\\Green wait.cur,%SystemRoot%\\Cursors\\Green busy.cur,%SystemRoot%\\Cursors\\Green cross.cur,%SystemRoot%\\Cursors\\Green beam.cur,%SystemRoot%\\Cursors\\Green pen.cur,%SystemRoot%\\Cursors\\Green no.cur,%SystemRoot%\\Cursors\\Green size4.cur,%SystemRoot%\\Cursors\\Green size3.cur,%SystemRoot%\\Cursors\\Green size2.cur,%SystemRoot%\\Cursors\\Green size1.cur,%SystemRoot%\\Cursors\\Green move.cur,%SystemRoot%\\Cursors\\Green up.cur,,\""
DJ Electronic
15-05-2007, 17:08
zuckij, там синтаксис очень сложный! путается командная строка при выполнении!!! Сам поэксперементируй просто сделай cmd файлик пропиши в него REG ADD ..... куда нибудь в начало ветки реестра к примеру HKCR и в ней сразу папочку _Test_ к примеру вот и попытайся получить таким путём нужный результат чтобы в реестрепри выполнении отображалось "C:\Windows\proga\proga.exe" /F "%1" увидишь что это невозможно из за того как команда сложная! происходит путаница с кавычками - " ещё к тому же русский не понимает приходится делать кодировку дос ещё один минус такого способа!!!
DJ Electronic
происходит путаница с кавычками
Чтобы обойти это препятствие используйте обратную косую черту (backslash) \" для каждых кавычек, которые вы добавляете.
Может, этот (http://forum.oszone.net/showthread.php?p=579146#post579146) пример поможет!
[hr]
Держи, все работает:
REG ADD "HKCR\*\shell\changeIcon\command" /ve /d "\"%SYSTEMROOT%\PROF\PROG.exe\" /F \"%%1\\"" /f
ещё к тому же русский не понимает приходится делать кодировку дос ещё один минус такого способа
Перестань, это долеко не аргумент и не проблема!
DJ Electronic
15-05-2007, 19:48
Да сделал уже, и так и так понял как! но пошёл первым путём! создал как обычно 2 файла один cmd второй reg, cmd запускает reg ключи экспортируюся в реестр далее 7zSFX тихий архив удаляет оба файла (дабы не сорить лишними файлами после того как они отработали) а теперь один cmd второй inf но принцип тот же, а конвертнуть из reg для inf не долго, быстрей чем для команды REG ADD....., всем спасибо тема закрыта, новеньким и начинающим вроде меня урок будет!
DJ Electronic
теперь один cmd второй inf А 2 в 1 ни как не нравитса! :glare:
DJ Electronic
15-05-2007, 23:20
boss911, вопрос такой ты конвертора не видел reg2cmd или что нить в этом духе??? долго это очень в один всё делать! если заносить только те ключи "проблемные" а другие оствлять в reg опять 2 файла! ;)
DJ Electronic
ты конвертора не видел reg2cmdНет! Просто с батниками мне более куда понятно, чем работа с inf'ами!
"проблемные" а другие оствлять в reg опять 2 файла!Я тебя понял, просто думал, что у тебя одиночный случай! :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC