1

Я хотел бы, чтобы Windows 8 автоматически возвращалась к начальному экрану Metro при закрытии программы или файла, а не возвращалась на рабочий стол.

Как это может быть сделано?

3 ответа3

1

Вы можете добиться этого с помощью AutoHotKey. Установите его и создайте следующие 2 файла:

switcher.ahk

#SingleInstance force

WinGet, id_ini, list,,, Program Manager
prev = %id_ini%

loop 
{
sleep 3000     ; Milliseconds for which the loop waits before another iteration
WinGet, id, list,,, Program Manager
current = %id%
if(current < prev)
{
  ;somethin closed - press windows key here
  Run, "C:\press_windows.vbs"   
}
prev = %id%
sleep 500
}

press_windows.vbs

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^{ESCAPE}"

После создания обоих файлов и настройки пути в файле switcher.ahk на местоположение созданных вами vbs. Вам просто нужно запустить файл Autohotkey (т.е. switcher.ahk), и все готово.

При этом будут учитываться все окна (исключая фоновые службы и процессы), а при уменьшении количества окон отправляется нажатие клавиши Windows и переключение на Modern-UI.

Я использую VBS, потому что по какой-то причине Windows-8 не принимает нажатие клавиши Windows от AHK.

Примечание. Этот скрипт необходимо доработать, иногда он может вести себя неожиданно, поскольку он также считает контекстное меню и уведомления как новое окно. Поэтому, когда они закрыты, посылается нажатие клавиши.
Чтобы избежать такого поведения, мы должны исключить такие вещи, которые можно легко сделать.

0

Если вы создаете файл сценария VBS и используете его для запуска целевого приложения, следующие инструкции будут выполнять все, что вам нужно:

'// File:  app2metro.vbs
'// Desc:  launch notepad then return to the metro interface

'//create shell object
Set WshShell = WScript.CreateObject("WScript.Shell")

'// run and wait for it to return
intReturn = WshShell.Run("notepad " & WScript.ScriptFullName, 1, TRUE)

'//switch to metro 
WshShell.SendKeys "^{ESCAPE}"
0

Хотя совсем не сложно нажать клавишу "Windows" после закрытия программы, имеет смысл, что если вы запустите программу с начального экрана Metro, вы вернетесь к ней позже. Особенно если это то, что вы хотите продвигать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .