Утилита, чтобы открыть случайно закрытое окно windows
Цитата: Олесь от 19.01.2023, 15:03Привет!
Как известно, в браузерах можно по Ctrl+Shift+T открыть последнюю закрытую вкладку. Хотелось бы узнать, нет ли подобной утилиты для того, чтобы можно было открыть последнее закрытое окно в Виндовс? У меня бывает иногда, что, когда много открытых окон, тыкаю на крестик не того, какого надо.
Единственное, что я нашёл -- программка GoneIn60s, но она не особо удобная и к тому же не имеет быстрого сочетания клавиш, а работает по клику на иконку в трее.
Привет!
Как известно, в браузерах можно по Ctrl+Shift+T открыть последнюю закрытую вкладку. Хотелось бы узнать, нет ли подобной утилиты для того, чтобы можно было открыть последнее закрытое окно в Виндовс? У меня бывает иногда, что, когда много открытых окон, тыкаю на крестик не того, какого надо.
Единственное, что я нашёл -- программка GoneIn60s, но она не особо удобная и к тому же не имеет быстрого сочетания клавиш, а работает по клику на иконку в трее.
Цитата: Mikhail от 19.01.2023, 15:52Добрый🖐.
Тебе на explorer или на все окна, я только на explorer видел норм скрипт, а чтоб другие приложения открывать как последний открытый, то это только через запоминание окна и т.д., то есть это надо специально, запомнить ID окна в скрипт, а потом если ты его случайно закрыл то сможешь открыть, то есть это не удобно, когда случай случайный.
Добрый🖐.
Тебе на explorer или на все окна, я только на explorer видел норм скрипт, а чтоб другие приложения открывать как последний открытый, то это только через запоминание окна и т.д., то есть это надо специально, запомнить ID окна в скрипт, а потом если ты его случайно закрыл то сможешь открыть, то есть это не удобно, когда случай случайный.
Цитата: Олесь от 19.01.2023, 16:02Цитата: Mikhail от 19.01.2023, 15:52Добрый🖐.
Тебе на explorer или на все окна, я только на explorer видел норм скрипт, а чтоб другие приложения открывать как последний открытый, то это только через запоминание окна и т.д., то есть это надо специально, запомнить ID окна в скрипт, а потом если ты его случайно закрыл то сможешь открыть, то есть это не удобно, когда случай случайный.Хотелось бы на все. GoneIn60s восстанавливает любое окно и даже несохранённую инфу в нём (например, в блокноте), но он неудобен и к тому же порой ложно срабатывает, плодя какие-то странные белые окна-фантомы (наверное, лагает из-за двух рабочих столов, такое ощушение).
Цитата: Mikhail от 19.01.2023, 15:52Добрый🖐.
Тебе на explorer или на все окна, я только на explorer видел норм скрипт, а чтоб другие приложения открывать как последний открытый, то это только через запоминание окна и т.д., то есть это надо специально, запомнить ID окна в скрипт, а потом если ты его случайно закрыл то сможешь открыть, то есть это не удобно, когда случай случайный.
Хотелось бы на все. GoneIn60s восстанавливает любое окно и даже несохранённую инфу в нём (например, в блокноте), но он неудобен и к тому же порой ложно срабатывает, плодя какие-то странные белые окна-фантомы (наверное, лагает из-за двух рабочих столов, такое ощушение).
Цитата: Евгений от 19.01.2023, 16:31QTTabBar
Не совсем то, но можно добавить кнопку открытия последних закрытых вкладок, как в браузере. Да и прям с рабочего стола можно последние окна открывать, через контекстное меню. Там вроде можно даже порядок вкладок настраивать, алфавитный или по дате.
QTTabBar
Не совсем то, но можно добавить кнопку открытия последних закрытых вкладок, как в браузере. Да и прям с рабочего стола можно последние окна открывать, через контекстное меню. Там вроде можно даже порядок вкладок настраивать, алфавитный или по дате.
Цитата: Mikhail от 19.01.2023, 16:33А на какую тебе горячую клавишу нужно восстановить окно?
Я просто могу к GoneIn60s добавить горячую клавишу и все.
И кстати он не срабатывает ложно, чтоб он сохранил окно нужно немного времени, секунд1-3, как только над крестиком появится сообщение про 60 секунд, значит он сохранил окно.
А на какую тебе горячую клавишу нужно восстановить окно?
Я просто могу к GoneIn60s добавить горячую клавишу и все.
И кстати он не срабатывает ложно, чтоб он сохранил окно нужно немного времени, секунд1-3, как только над крестиком появится сообщение про 60 секунд, значит он сохранил окно.
Цитата: Олесь от 19.01.2023, 16:54Цитата: Mikhail от 19.01.2023, 16:33А на какую тебе горячую клавишу нужно восстановить окно?
Я просто могу к GoneIn60s добавить горячую клавишу и все.
И кстати он не срабатывает ложно, чтоб он сохранил окно нужно немного времени, секунд1-3, как только над крестиком появится сообщение про 60 секунд, значит он сохранил окно.
Это было бы круто! Можно на Ctrl+T или на Alt+t -- вроде как ничем другим в винде такие сочетания не заняты. В общем, на любое+T.
Цитата: Евгений от 19.01.2023, 16:31QTTabBar
Не совсем то, но можно добавить кнопку открытия последних закрытых вкладок, как в браузере. Да и прям с рабочего стола можно последние окна открывать, через контекстное меню. Там вроде можно даже порядок вкладок настраивать, алфавитный или по дате.Что-то слишком сложное для одной функции, но я посмотрю, спасибо. Всё равно у меня есть уже пара сложных утилит, которых я юзаю просто ради одной-двух функций)
Цитата: Mikhail от 19.01.2023, 16:33А на какую тебе горячую клавишу нужно восстановить окно?
Я просто могу к GoneIn60s добавить горячую клавишу и все.
И кстати он не срабатывает ложно, чтоб он сохранил окно нужно немного времени, секунд1-3, как только над крестиком появится сообщение про 60 секунд, значит он сохранил окно.
Это было бы круто! Можно на Ctrl+T или на Alt+t -- вроде как ничем другим в винде такие сочетания не заняты. В общем, на любое+T.
Цитата: Евгений от 19.01.2023, 16:31QTTabBar
Не совсем то, но можно добавить кнопку открытия последних закрытых вкладок, как в браузере. Да и прям с рабочего стола можно последние окна открывать, через контекстное меню. Там вроде можно даже порядок вкладок настраивать, алфавитный или по дате.
Что-то слишком сложное для одной функции, но я посмотрю, спасибо. Всё равно у меня есть уже пара сложных утилит, которых я юзаю просто ради одной-двух функций)
Цитата: Mikhail от 19.01.2023, 17:01Держи, убрал еще всплывающее окно у курсора над крестиком программы про 60 сек и т.д., все остальное оригинал, Ctrl+T - сочетание.
Держи, убрал еще всплывающее окно у курсора над крестиком программы про 60 сек и т.д., все остальное оригинал, Ctrl+T - сочетание.
Цитата: Олесь от 19.01.2023, 17:12Цитата: Mikhail от 19.01.2023, 17:01Держи, убрал еще всплывающее окно у курсора над крестиком программы про 60 сек и т.д., все остальное оригинал, Ctrl+T - сочетание.
Всё прекрасно работает, огромное спасибище!!
Цитата: Mikhail от 19.01.2023, 17:01Держи, убрал еще всплывающее окно у курсора над крестиком программы про 60 сек и т.д., все остальное оригинал, Ctrl+T - сочетание.
Всё прекрасно работает, огромное спасибище!!
Цитата: Имир от 26.09.2025, 10:51Mikhail, добрый день! Подскажите, пожалуйста, этот скрипт, который работает только на
explorer! Искал такое, но не нашёл(
Спасибо за GoneIn60s! Это очень интересная вещь, но, к сожалению, не всегда подходит, так как она не закрывает программы сразу, а скрывает их на отведённое время
Mikhail, добрый день! Подскажите, пожалуйста, этот скрипт, который работает только на Скопированоexplorer! Искал такое, но не нашёл(
Спасибо за GoneIn60s! Это очень интересная вещь, но, к сожалению, не всегда подходит, так как она не закрывает программы сразу, а скрывает их на отведённое время
Цитата: Имир от 10.05.2026, 17:29Mikhail, добрый вечер! Нашёл скрипт для поочерёдного восстановления закрытых окон Проводника!
#NoEnv #Persistent #SingleInstance Force SetBatchLines, -1 ; Максимальная скорость выполнения скрипта Menu, Tray, NoStandard Menu, Tray, Add, Restore, Restore Menu, Tray, Default, Restore Menu, Tray, Add, Exit, Exit Menu, Tray, Click, 1 Global ClosedFolders := [] Global CurrentExplorers := {} Global ShellApp := ComObjCreate("Shell.Application") ; Создаем объект один раз UpdateExplorers() SetTimer, WatchExplorers, 800 ; 800мс достаточно для комфортной работы без нагрузки return Restore: if (ClosedFolders.Count() > 0) { PathToRestore := ClosedFolders.Pop() Run, explorer.exe "%PathToRestore%" } return WatchExplorers() { NewExplorers := {} ; Перебор окон через существующий объект ShellApp for window in ShellApp.Windows { try { path := window.Document.Folder.Self.Path hwnd := window.hwnd if (path) NewExplorers[hwnd] := path } } ; Проверка закрытых окон for hwnd, path in CurrentExplorers { if (!NewExplorers.HasKey(hwnd)) { ; Добавляем в историю, только если пути еще нет в конце (избегаем дублей при обновлении окон) if (ClosedFolders[ClosedFolders.MaxIndex()] != path) { ClosedFolders.Push(path) if (ClosedFolders.Count() > 10) ClosedFolders.RemoveAt(1) } } } CurrentExplorers := NewExplorers } UpdateExplorers() { for window in ShellApp.Windows { try { path := window.Document.Folder.Self.Path if (path) CurrentExplorers[window.hwnd] := path } } } Exit: ExitApp
Mikhail, добрый вечер! Нашёл скрипт для поочерёдного восстановления закрытых окон Проводника!
#NoEnv
#Persistent
#SingleInstance Force
SetBatchLines, -1 ; Максимальная скорость выполнения скрипта
Menu, Tray, NoStandard
Menu, Tray, Add, Restore, Restore
Menu, Tray, Default, Restore
Menu, Tray, Add, Exit, Exit
Menu, Tray, Click, 1
Global ClosedFolders := []
Global CurrentExplorers := {}
Global ShellApp := ComObjCreate("Shell.Application") ; Создаем объект один раз
UpdateExplorers()
SetTimer, WatchExplorers, 800 ; 800мс достаточно для комфортной работы без нагрузки
return
Restore:
if (ClosedFolders.Count() > 0) {
PathToRestore := ClosedFolders.Pop()
Run, explorer.exe "%PathToRestore%"
}
return
WatchExplorers() {
NewExplorers := {}
; Перебор окон через существующий объект ShellApp
for window in ShellApp.Windows {
try {
path := window.Document.Folder.Self.Path
hwnd := window.hwnd
if (path)
NewExplorers[hwnd] := path
}
}
; Проверка закрытых окон
for hwnd, path in CurrentExplorers {
if (!NewExplorers.HasKey(hwnd)) {
; Добавляем в историю, только если пути еще нет в конце (избегаем дублей при обновлении окон)
if (ClosedFolders[ClosedFolders.MaxIndex()] != path) {
ClosedFolders.Push(path)
if (ClosedFolders.Count() > 10)
ClosedFolders.RemoveAt(1)
}
}
}
CurrentExplorers := NewExplorers
}
UpdateExplorers() {
for window in ShellApp.Windows {
try {
path := window.Document.Folder.Self.Path
if (path)
CurrentExplorers[window.hwnd] := path
}
}
}
Exit:
ExitApp