Показать полную графическую версию : Твики реестра .: [архив] :.
что не так делаю? »
Попробуйте сделать экспорт reg файла с выгруженным процессом explorer.exe .
Как убрать из Пуск (справка и поддержка)? »
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoSMHelp"=dword:00000001
А еще вопросов наверное будет много, не проще ли сразу почитать по ссылкам в шапке темы?
kalikanzaros
20-02-2008, 10:37
Blast, boss911,
нужно зарегистрировать расширение на определенную программу, подскажите пожалуйста можно ли в экспортируемой ветке реестра заменить путь к папке "Program Files" на %programfiles%
тк возможен случай что "Program Files" будет не на диске С, а на каком-то другом, да к тому же есть небольшая вероятность что у кого-то эта папка будет называться по другому...
Petya V4sechkin
20-02-2008, 10:51
подскажите пожалуйста можно ли в экспортируемой ветке реестра заменить путь к папке "Program Files" на %programfiles%
Если тип параметра REG_EXPAND_SZ, можно попробовать (до экспорта).
Но обычно в таких случаях вместо reg-файлов приходится использовать либо команду REG ADD в .cmd скрипте, либо inf-файлы (http://forum.oszone.net/thread-66223.html).
kalikanzaros
20-02-2008, 11:18
Petya V4sechkin,
спасибо, неправильно сформулировал вопрос, слегка переиначу:
можно ли в reg файле заменить путь к папке "Program Files" на %programfiles% перед импортом оного в реестр?
если не сложно можно пример cmd скрипта с командой REG ADD
для простого примера, былREGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\htmlfile\shell]
@="OperaAC"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\htmlfile\shell\open\command]
@=""C:\\Program Files\\Opera_AC\\OperaAC.exe" "%1""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\InternetShortcut\shell\open\command]
@=""C:\\Program Files\\Opera_AC\\OperaAC.exe" "%1""
нужно чтобы при импорте прописывался корректный путь к папке "Program Files"
kalikanzaros, тут не все так просто. Да, в секциях shell для типов файлов так делать можно, но для этого параметр должен быть типа REG_EXPAND_SZ. Этот тип параметров экспортируется в reg-файл в бинарном виде, поэтому правкой файла обойтись не получится - надо изменить тип параметра в редакторе реестра, задать ему нужное значение, а птотм эту секцию экспортировать в файл. Задача осложняется тем, что вам нужно сменить тип параметра "(По умолчанию)". Стереть его и создать новый параметр с тем же именем и новым типом - не получится. Вам нужно найти раздел реестра, где уже есть параметр "(По умолчанию") типа REG_EXPAND_SZ, скопировать его в буфер (имеено раздел), затем вставить в нужную вам ветку, переименовать раздел, добавить остальные параметры, какие там должны быть и т.д. Напрямую сменить тип параметра, не удаляя и не создавая его заново, насколько я знаю, нельзя.
kalikanzaros
20-02-2008, 11:37
Anakin,
добавлю информации, это нужно для того чтобы программы которые "устанавливаются" путем простого разархивирования в папку %programfiles% из wpi открывали именно те файлы "по умолчанию", для которых они и созданы
те сменять тип параметра в реестре или удалять его нет надобности, хотя если честно не вижу в этом сложности тк простое добавление "минуса" сразу после квадратной скобки в reg файле сносит этот раздел а добавление минуса после равно в значении параметра сносит этот параметр...
в wpi есть команда добавить в реестр после установки, вот и хочется добавить связь только что установленной программы с определенными расширениями
kalikanzaros, я понял, зачем вам это нужно, сам с такой необходимость сталкиваюсь:)
Блин, чет я затупил, что в регфайле имена-то параметров можно изменить и перекинуть из одной секции в другую:) Тогда без проблем - создавайте в любой ветке (можете даже создать временную) параметр типа REG_EXPAND_SZ, задайте ему нужное значение, экспортируйте во временный reg-файл, затем из этого файла перенесите в ваш "инсталляторный" файл, заменив имя параметра на @ и положив его в нужный раздел.
Как сделаете - отпишитесь, если пройдет, то у себя также сделаю везде, где можно. Но такой финт ушами проходит не повсеместно - в секции Classes для регистрации расширений файлов он пройдет, а вот обмануть например WinRAR, изменяя в его ветке пути к темам оформления, не получится - он жестко завязан на строковый тип параметра, как следствие - нужен развернутый путь без системных переменных.:(
kalikanzaros
20-02-2008, 11:55
Anakin,
я не могу задать нужное значение тк не знаю как у конечного пользователя будет называтся папка %programfiles% и на каком диске она будет лежать
как идея сделать cmd или bat файл, который будет брать значение %programfiles% из path и подставлять это значение в импортируемые ключи, только к сожалению не силен в написании батников, поэтому требуется помощь... :)
kalikanzaros, под нужным значением я понимаю строчку "%ProgramFiles%\opera\opera.exe" (ну или что вам там надо). Для REG_EXPAND_SZ это значение и хранится в реестре, а подстановка (т.е. расширение параметра) происходит прямо в памяти в момент чтения программой этого параметра - поэтому он и назван "расширяемый строковый параметр";)
kalikanzaros
20-02-2008, 12:14
Anakin,
теперь понятно, спасибо, попробую, постараюсь написать о результатах в пятницу
Petya V4sechkin
20-02-2008, 12:47
kalikanzaros, в вашем твике с кавычками непорядок.
Видимо, вы хотели так:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\htmlfile\shell]
@="OperaAC"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\htmlfile\shell\open\command]
@="\"C:\\Program Files\\Opera_AC\\OperaAC.exe\" \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\InternetShortcut\shell\open\command]
@="\"C:\\Program Files\\Opera_AC\\OperaAC.exe\" \"%1\""
Тогда .cmd будет:
Reg Add HKLM\SOFTWARE\Classes\htmlfile\shell /VE /D OperaAC /F
Reg Add HKLM\SOFTWARE\Classes\htmlfile\shell\open\command /VE /D "\"%ProgramFiles%\Opera_AC\OperaAC.exe\" \"%%1\"" /F
Reg Add HKLM\SOFTWARE\Classes\InternetShortcut\shell\open\command /VE /D "\"%ProgramFiles%\Opera_AC\OperaAC.exe\" \"%%1\"" /F
Обратите внимание на экранирование спецсимволов (кавычек, процентов).
Аналогичный inf-файл:
[Version]
Signature="$Windows NT$"
[DefaultInstall]
AddReg = O.AddReg
[O.AddReg]
HKLM,"SOFTWARE\Classes\htmlfile\shell",,,"OperaAC"
HKLM,"SOFTWARE\Classes\htmlfile\shell\open\command",,,"""%16422%\Opera_AC\OperaAC.exe"" ""%1"""
HKLM,"SOFTWARE\Classes\InternetShortcut\shell\open\command",,,"""%16422%\Opera_AC\OperaAC.exe"" ""%1"""
Vadikan,
вот этот твик
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles"="C:\pagefile.sys 700 700"его надо .reg? или .cmd
di2blo
В принципе *.cmd , но операции update для команды reg не знаю. Наберите в командной строке -
reg /?
boss911
Там есть тольво вот такие параметры :
REG QUERY
REG ADD
REG DELETE
REG COPY
REG SAVE
REG RESTORE
REG LOAD
REG UNLOAD
REG COMPARE
REG EXPORT
REG IMPORT
update там нету
di2blo, тогда делайте REG ADD.
Vadikan,
Сделал с параметром REG ADD .cmd файл,ключ добавился в реестр но параметры виртуальной памяти не изменились(
Подскажите, пожалуйста, как избавиться от этого (чтоб система при ненахождении файла не пыталась его искать):
http://img85.imageshack.us/img85/2482/20080221172125hy8.jpg
И какая ветка реестра отвечает за положение адресной строки (или если не реестр, то как можно втихую оформить данную настройку):
http://img85.imageshack.us/img85/2453/20080221172311yl6.jpg
di2blo, прошу прощения, я дал неверную команду. Конечно, так работать не будет. Попробуйте
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v PagingFiles /t REG_MULTI_SZ /d "C:\pagefile.sys 700 700"
Droperidolum
22-02-2008, 02:00
Здравствуйте!
Подскажите пожалуйста как сделать чтобы во всех папках на свежей винде уже было:
1. сортировка значков "по типу"
2. вид "список"
Интуитивно предполагаю (с помощью regshot) что надо работать в районе
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags\
пробовал согласно рекомендациям создавать
[HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags\AllFolders\Shell]
"WFlags"=dword:00000000
"Sort"=dword:00000002
"Vid"=hex(7):30,00,45,00,31,00,46,00,41,00,35,00,45,00,30,00,2d,00,33,00,35,00,\
37,00,33,00,2d,00,31,00,31,00,43,00,46,00,2d,00,41,00,45,00,36,00,39,00,2d,\
00,30,00,38,00,30,00,30,00,32,00,42,00,32,00,45,00,31,00,32,00,36,00,32,00,\
00,00,00,00
"SortDir"=dword:00000001
но почему-то не работает :(
Где хранятся параметры, которые изменяются кнопкой в свойствах папки "применить ко всем папкам"?
Спасибо!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.