Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Сrack

Ветеран


Сообщения: 1255
Благодарности: 436

Профиль | Цитировать


s600, Что вы имеете ввиду? Выполнение консольных команд непосредственно из оболочки, минуя bat-файлы?
Через консольные команды реализованы пункты "Перезагрузка" и "Выключение".
В поле "Путь к приложению" указывайте путь %WinDir%\system32\cmd.exe а в ключах запуска вашу команду, только есть один нюанс, перед вашей командой нужно указать стандартный ключ он как раз передает в cmd.exe вашу команду.

В вашем случае это будет выглядеть так:


При работе с реестром есть нюанс, т.к. оболочка 32-битная, на 64-битной ОС данные попадут в 32-битную часть реестра, некоторые системные настройки не будут работать из 32-битной ветки реестра. Для решения этой задачи, в программе реализован метод импорта их reg-файлов, при этом есть ключ /x64, который направляет информацию в 64-битную ветку реестра, на 32-битной ОС этот ключ не учитывается.



Если вы пытаетесь реализовать эти команды через bat-файл, то они не срабатывают, т.к. программа при запуске bat-файла назначает текущий каталог на папку в которой лежит bat-файл, и соответственно он не видит некоторые команды, т.к. они лежат в папке %WinDir%\system32.
В вашем случае, нужно добавить в bat-ник переход в %WinDir%\system32 перед вызовом команды reg или вызывать ее указав прямой путь так
Код: Выделить весь код
%WinDir%\system32\reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v "AUOptions" /t REG_DWORD /d "0x1" /f
Тут опять же информация попадет в 32-битную ветку реестра, для доступа к 64-битной ветке реестра, надо вызывать через Sysnative примерно так:
Код: Выделить весь код
%WinDir%\Sysnative\reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v "AUOptions" /t REG_DWORD /d "0x1" /f
Сам я в подобных ситуациях использую исключительно SFX-Macros вызывая cmd.exe так %WinDir%\system32\cmd.exe или имитируя 64-битный процесс так %WinDir%\Sysnative\cmd.exe.
В SFX-Macros реализована виртуализация 64-битной командной строки при вызове %WinDir%\Sysnative\cmd.exe в качестве текущего каталога назначается 64-битная system32 которую нельзя увидеть из 32-битного приложения.

Последний раз редактировалось Сrack, 19-04-2014 в 15:33.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:25, 19-04-2014 | #481