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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Запуск команд ms-settings

Ответить
Настройки темы
VBS/WSH/JS - [решено] Запуск команд ms-settings

Аватара для BKPB

Старожил


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

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


Нужно запустить команду ms-settings:lockscreen с помощью VBS.

Отправлено: 20:14, 21-06-2020

 

Старожил


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

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


>>>Выполнить" (Win+R) - вполне себе..

Потому что распознаёт URI

Отправлено: 09:40, 23-06-2020 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для YuS_2

Crazy


Contributor


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

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


Цитата птичка0001:
Потому что распознаёт URI »
вот и вопрос, почему консоль не научили? Ведь, файлы по ассоциациям открывает же...

-------
scio me nihil scire. Ѫ


Отправлено: 12:42, 23-06-2020 | #12


Старожил


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

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


>>>не научили
Я такого не говорила

Ну а как Вы, например, тот же калькулятор, простите, открываете? Win+R и в консоли?
Также см. на следующие простые примеры (c#):
Код: Выделить весь код
System.Diagnostics.Process.Start("ms-settings:lockscreen");
Код: Выделить весь код
System.Diagnostics.Process.Start("app:");
Код: Выделить весь код
System.Diagnostics.Process.Start("app:http://www.google.com");

Отправлено: 17:16, 23-06-2020 | #13


Ветеран


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

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


YuS_2, WshShell.Run() — это не прямой запуск, не CreateProcess(), это аналог ShellExecute() — посему там отрабатывают простые shell-команды и пути AppPaths. Про консоли и Win-R — аналогично, та же разница.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:41, 23-06-2020 | #14


Аватара для YuS_2

Crazy


Contributor


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

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


Цитата птичка0001:
Ну а как Вы, например, тот же калькулятор, простите, открываете? »
так:
Код: Выделить весь код
win32calc.exe
или по алиасу:
Код: Выделить весь код
calc.exe
и это работает везде...

Цитата птичка0001:
Также см. на следующие простые примеры (c#) »
А какая тут связь с нашим вопросом?

Цитата Iska:
Про консоли и Win-R — аналогично, та же разница. »
так в том и вопрос... в чем разница-то?
Ведь, shell-команды отрабатывают в консоли? Почему не работают URI?
Ну, да ладно, всё равно, ничего не изменим... вопросы больше риторические...

-------
scio me nihil scire. Ѫ


Отправлено: 21:38, 23-06-2020 | #15


Старожил


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

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


>>>Почему не работают URI

Боги... Работают же... Есть же start...

Отправлено: 22:24, 23-06-2020 | #16


Аватара для YuS_2

Crazy


Contributor


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

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


Цитата птичка0001:
Боги... Работают же... Есть же start... »
Цитата YuS_2:
Только одно непонятно: почему напрямую в консоли, без start не работает »

-------
scio me nihil scire. Ѫ


Отправлено: 22:28, 23-06-2020 | #17


Старожил


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

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


К слову, System.Diagnostics.Process.Start похож на ShellExecute.

Используйте ShellExecute...

Последний раз редактировалось птичка0001, 24-06-2020 в 00:00.


Отправлено: 23:24, 23-06-2020 | #18


Ветеран


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

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


Цитата YuS_2:
Ведь, shell-команды отрабатывают в консоли? »
Нет, не отрабатывают.

Можете сравнить:
Код: Выделить весь код
Option Explicit

Const WshRunning  = 0
Const WshFinished = 1
Const WshFailed   = 2

Const strShellName = "shell:AppData"


With WScript.CreateObject("WScript.Shell")
	.Run """" & strShellName & """", 1, False
	
	WScript.Sleep 2000
	
	With .Exec("""" & strShellName & """")
		If .Status <> WshFailed Then
			Do Until .Status = WshRunning
				WScript.Sleep 100
			Loop
			
			Do
				WScript.Sleep 100
			Loop Until .Status = WshFinished
			
			WScript.Echo "Execute [" & strShellName & "] successfully."
		Else
			WScript.Echo "Can't execute [" & strShellName & "]."
			WScript.Quit 1
		End If
	End With
End With

WScript.Quit 0
WshShell.Run() — это ShellExecute(), WshShell.Exec() — «чистый» CreateProcess().

Цитата YuS_2:
Ведь, файлы по ассоциациям открывает же... »
Да.

Цитата птичка0001:
Есть же start... »
start — это и есть ShellExecute() из-под консоли.
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:33, 24-06-2020 | #19



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Запуск команд ms-settings

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Запуск команд для сервера через bat pwnya@vk Скриптовые языки администрирования Windows 7 12-07-2017 19:58
CMD/BAT - Поочередный запуск программ и команд adios85 Скриптовые языки администрирования Windows 9 20-09-2016 19:29
CMD/BAT - [решено] Запуск программы и отправка в нее команд со временем probelp Скриптовые языки администрирования Windows 14 20-12-2013 14:50
Любой язык - Помогите написать скрипт на последовательеый запуск команд peterm Скриптовые языки администрирования Windows 8 10-11-2012 23:31
Запуск в WPI двух команд одновременно ChVL Автоматическая установка приложений 0 05-12-2007 08:36




 
Переход