![]() |
Работа с реестром
Ктонить может реализовать с помощью батника или VB скрипта такую задачку:
1. Создание резервной копии перечисленных ниже ключей реестра (если они есть). 2. Внесение ключей реестра перечисленных ниже. При том путь “D:\Games\Diablo II” должен быть относительным. Т.е. вместо жёсткого указания, он должен указывать на папку, в которой находиться скрипт. 3. Запуск Diablo II.exe с параметром –direct 4. Проверка ли запущен процесс Game.exe 5. Как только процесс Game.exe исчезает, все внесённые скриптом ключи реестра должны удаляться, после чего должно происходить восстановление тех ключей, которые были забэкаплены в самом начале. Собсно это все нужно для создания portable версии игры. |
Посмотрите команду REG. Например, 'reg export /?' и 'reg add /?'
|
извиняюсь
|
Цитата:
Код:
@Echo Off |
gora, благодарю. Команды для удаления создаваемых ключей я сам допишу. Но возникает одна проблемка: то что в x32 системах записывается в HKLM\SOFTWARE, то в x64 системах пишется в HKLM\SOFTWARE\Wow6432Node. Возможно ли как-то учесть этот момент?
И за одно хотелось бы чтобы батник создавал пару ключей в зависимости от версии Windows. Т.е. если версия 6.0.6000 или более поздняя, чтобы создавались эти ключи: Для системы любой разрядности: Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw\Compatibility\Game] Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\Compatibility\Game] |
Raf-9600, так?
Код:
@Echo Off |
gora, Прекрасно! А можно ли через батник реализовать ещё один штрих - проверку версии файла?
Допустим чтобы значение в этих ключах различалось в зависимости от версии Game.exe: Код:
"HKLM\SOFTWARE\Microsoft\DirectDraw\Compatibility\Game /v "ID" /t REG_DWORD" "0x4E9DE60E" А если версия Game.exe = 1.0.13.60, то: "0x4B95CA4B" При том нужно чтобы остальные правила (проверка на версию Windows и разрядность) по прежнему тоже действовали на эти ключи. |
Код:
... |
Время: 08:39. |
Время: 08:39.
© OSzone.net 2001-