Вы должны войти, чтобы создавать сообщения и темы.

Имя параметра с переменной и путем

Всем привет! Делаю VBS  который добавляет ключ в реестр по настройке графики. Имя данного параметра состоит из переменной и второй части пути внутри папки. Подскажите, пожалуйста, как такое реализовать на VBS

Прикрепляю Свои reg, который нужно "перенести" в VBS с переменным расположением и кривой VBS

reg
СкопированоWindows Registry Editor Version 5.00

Скопировано[HKEY_CURRENT_USER\SOFTWARE\Microsoft\DirectX\UserGpuPreferences]
Скопировано"D:\\Portable Programs\\Minecraft\\tl\\mojang_jre\\jre-legacy\\windows-x64\\jre-legacy\\bin\\javaw.exe"="GpuPreference=2;"

VBS
СкопированоResponse = MsgBox ("Включить дискретную графику по умолчанию?", vbYesNo + vbQuestion + vbDefaultButton2, "Настройки графики")

Скопированоif Response = vbYes then
Скопированоset key = CreateObject("WScript.Shell")
Скопированоscriptdir = replace(WScript.ScriptFullName,WScript.ScriptName,"")

Скопированоkey.RegWrite "HKCU\SOFTWARE\Microsoft\DirectX\UserGpuPreferences\" & scriptdir & "tl\mojang_jre\jre-legacy\windows-x64\jre-legacy\bin\javaw.exe", "GpuPreference=2;"

СкопированоMsgBox "Готовченко!", vbOKOnly + vbInformation, "Настройки графики"
Скопированоelse
СкопированоWscript.Quit
Скопированоend if

Добрый🖐.
Я не понял что вы хотите, в реестре есть данные и значения, то есть по идее, должно быть так СкопированоGpuPreference - данныеи его значение 2, у вас

tl\mojang_jre\jre-legacy\windows-x64\jre-legacy\bin\javaw.exe", "GpuPreference=2;"

Что это? Как это в реестре должно выглядеть(куда писать GpuPreference?), покажите правильный пример.


Это вообще как должно добавиться в реестр?

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\DirectX\UserGpuPreferences]
"D:\\Portable Programs\\Minecraft\\tl\\mojang_jre\\jre-legacy\\windows-x64\\jre-legacy\\bin\\javaw.exe"="GpuPreference=2;"

 

«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Возможно не правильно понял, но понял так.

key.RegWrite "HKCU\SOFTWARE\Microsoft\DirectX\UserGpuPreferences\", scriptdir & "tl\mojang_jre\jre-legacy\windows-x64\jre-legacy\bin\javaw.exe, ""GpuPreference=2"""

 

«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Эта такая настройка графики в параметрах дисплея, определяет, с какой видеокартой следует запускать приложение: с встроенной или дискретной. Именно так странно и должна висеть настройка в реестре. В случае с Твоим твиком меняется именно параметр по умолчанию, а Мне нужно в названии параметра указать путь к файлу

Response = MsgBox("Включить дискретную графику по умолчанию?", vbYesNo + vbQuestion, "Настройки графики")
if Response = vbYes then
    scriptdir = replace(WScript.ScriptFullName,WScript.ScriptName,"")
    const HKEY_CURRENT_USER = &H80000001
    Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
    If Err.Number <> 0 Then
    End If
    intRes = objReg.SetStringValue(HKEY_CURRENT_USER, "SOFTWARE\Microsoft\DirectX\UserGpuPreferences", scriptdir & "", "GpuPreference=2;")
    MsgBox "Готовченко!", vbOKOnly + vbInformation, "Настройки графики"
end if

Теперь норм, выше можно удалить сообщение, спасибо.
После scriptdir в кавычках, путь до exe допиши.

Лайкнул Миша
Миша
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Все получилось! Спасибо за отзывчивость
Скажи, пожалуйста, как Ты научился такие сложные скрипты писать? Просто Google или есть какой-то сайт, где все грамотно расписано?

Вы пользователи даете задания, я пробую их решать сам, не зная как, вот этот скрипт, прям сегодня и научился), в гугле инфу насобирал, наработки Хачатура(ценнейшая информация которой в гугле просто нет) и составил скрипт.

Лайкнули Сергей, Aleksey и ещё 2
СергейAlekseyЯRМиша
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Это интересно, спасибо