Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 10 (http://forum.oszone.net/forumdisplay.php?f=118)
-   -   [решено] Какое сочетание клавиш нужно для команды свернуть активное окно? (http://forum.oszone.net/showthread.php?t=355846)

Kamerin 07-11-2024 15:28 3032496

Какое сочетание клавиш нужно для команды свернуть активное окно?
 
Приветствую!
Казалось бы простая задача, но не могу найти решение…
Мне нужно узнать сочетание клавиш в win 10, чтобы свернуть ОДНО АКТИВНОЕ окно, к примеру проводник, или браузер, за один раз, и на любой раскладке клавиатуры. Попадались команды, свернуть все окна, не то. Есть близкая к нужной команда: win+стрелка вниз, но есть косяк, при развёрнутом окне, оно сначала уменьшается, и только при повторной команде сворачивается…
Сочетание клавиш нужно для записи в макрос мыши, т.к. просто свернуть активное окно, она не может.
Мышь двадцатилетней давности могла, а эта супер/пупер не может…..

Avatar-Lion 07-11-2024 17:54 3032502

Универсального способа нет. Есть сочетание Alt+Пробел+С, но работает только на русской раскладке. Для записи макросов вряд ли подойдет, т.к. регистрируется обычно нажатие (код) самой клавиши как таковой, а не конкретный символ (в данном случае русская С). То есть работоспособность макроса по-прежнему будет зависеть от текущей раскладки клавиатуры.

Kamerin 07-11-2024 18:14 3032505

А может что на AutoIt придумать? Мышь приложения тоже запускать может через макрос.

Avatar-Lion 07-11-2024 18:27 3032506

Не знаю, я таким ПО не пользуюсь, хватает того софта, что в комплекте к клавиатуре идет. Сейчас вот поэкспериментировал... В принципе, есть стандартные последовательности нажатия клавиш на любой раскладке: Alt + пробел > 4 раза стрелка вниз > Enter.

ПО от Logitech для записи макросов выставляет интервал в 25мс между нажатиями клавиш. Попробовал ради интереса 1мс прописать, но не успевает отрабатывать. Тогда поставил интервал в 5мс. После этого начало работать. Конечно, окно не прям мгновенно сворачивается, в сумме проходит где-то одна четверть или одна треть секунды, прежде чем окно реально свернется, но в целом это все равно быстрее получается, чем мышкой тянуться к кнопке сворачивания окна. Но я макрос этот в итоге удалил, т.к. необходимости быстро свернуть текущее окно у меня никогда не было. Вот все окна сразу свернуть, это да, но для этого Win+D есть.

Если ваша мышь поддерживает последовательное нажатие из 7 клавиш и там тоже можно выставить минимальную задержку, то можете попробовать. Тогда от раскладки не будете уже зависеть. Но если не умеет ваша мышь такое... Тогда придется покупать клаву как у меня. :) Модель в профиле.

Amigos 07-11-2024 19:10 3032509

Цитата:

Цитата Kamerin
А может что на AutoIt »

Если пользуетесь PuntoSwitcher , то в нём можно назначить произвольный хоткей на это .

Grabber2006 07-11-2024 19:57 3032510

Вложений: 1
В прикрепленном файле экзешник, который сворачивает активное окно.

Kamerin 07-11-2024 20:50 3032511

Avatar-Lion, Amigos, Grabber2006 - просто высший уровень! Все варианты работают! День сам промучился, потом день поддержку Logitech терзал, и все без толку.....
Цитата:

Цитата Avatar-Lion
поставил интервал в 5мс. После этого начало работать. »

Экспериментировал с разными задержками, между разных клавиш в макросе, довёл общую задержку до 25мс. Всё шикарно работает. Позже вылез один прикол: на моей системе, не везде 4 раза стрелку вниз надо. К примеру в блокноте - 3.
Цитата:

Цитата Amigos
Если пользуетесь PuntoSwitcher , то в нём можно назначить произвольный хоткей на это . »

Интересно, как они это реализовали? Задержки практически нет.
Цитата:

Цитата Grabber2006
В прикрепленном файле экзешник, который сворачивает активное окно. »

Прекрасно тоже работает! Написано с помощью AutoIt, или чего то другого?

Удовольствие от решения проблемы, больше, чем от покупки мыши.....

Avatar-Lion 07-11-2024 21:47 3032513

Grabber2006, Надо бы перепаковать во что-то другое... А то Защитник Windows ругается.

Kamerin, А что вас так удивляет? Это же полноценная программа, взаимодействующая с операционной системой. Уж конечно ее авторам не составило труда сделать вызов функции типа "свернуть активное окно". Думаю, такое на уроках программирования сейчас школьникам преподают, поскольку это наверняка очень просто делается и позволяет наглядно показать способы и методы взаимодействия с интерфейсом ОС.

Grabber2006 07-11-2024 23:03 3032521

Защитник? Может SmartScreen? Файл не запакован.

Цитата:

Цитата Kamerin
Написано с помощью AutoIt, или чего то другого? »

Delphi 7.

Vadikan 07-11-2024 23:14 3032524

Win + ? (иногда - для развернутых во весь экран окон - два раза надо будет нажать ?)
Alt+Esc убирает с глаз в конец стопки

Цитата:

Цитата Grabber2006
Вложения
Project1.rar »

безумству храбрых...

Avatar-Lion 08-11-2024 09:25 3032536

Grabber2006, На сайте Майкрософта отсылка указана именно к Defender Antivirus, а не SmartScreen: https://www.microsoft.com/en-us/wdsi...hreatid=265744 - SmartScreen просто уведомление выводит при попытке запуска exe'шника. А Защитник хлопает файл еще на этапе скачивания.

Grabber2006 08-11-2024 17:08 3032566

Это ложное срабатывание. В экзешнике 3 строчки.

Kamerin 09-11-2024 14:31 3032628

Цитата:

Цитата Grabber2006
Защитник? Может SmartScreen? »

Да. SmartScreen. Но ничего криминального. Один раз он появился, я сказал ему, что все в порядке, и всё, больше он не появлялся.
Защитник никак не отреагировал на экзешник, хотя "заплаток" много он попортил..... Но это все лично на моей системе. У других может и по другому.
Цитата:

Цитата Grabber2006
В экзешнике 3 строчки. »

Круто! А что сложнее в освоении, Delphi 7 или AutoIt? Или это как сравнивать зелёное с горьким?
Цитата:

Цитата Vadikan
Win + ? (иногда - для развернутых во весь экран окон - два раза надо будет нажать ?) »

Как я писал в первом сообщении, эта комбинация не подходит, ибо:
Цитата:

Цитата Vadikan
иногда - для развернутых во весь экран окон - два раза надо будет нажать ? »

Скрипт не поймёт, сколько раз когда ему кнопку нажимать.
Цитата:

Цитата Vadikan
безумству храбрых... »

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

Grabber2006 09-11-2024 17:41 3032632

Среда программирования Delphi он хоть и выпускается до сих пор, но считается устаревшей. А вообще на ней можно приложения писать для Windows, AppleOS и Android. Используемые языки - Delphi (Object Pascal) и C++. Обычно на Delphi базы данных пишут.
Код:

  По событию FormShow (появления окна программы на экране) пишем следующие строчки:

  Application.Minimize; // сразу сворачиваем. При этом на передний план выходит окно программы, которая до этого была на экране и она становится активной. Т.е. фактически ничего не меняется
                                  // при запуске нашего приложения. 
  SendMessage(GetForegroundWindow, WM_SYSCOMMAND, SC_MINIMIZE, 0); // Посылаем чужому окну сообщение. GetForegroundWindow возвращает handle активного окна, WM_SYSCOMMAND - тип
                                                                                                                  // команды - системная команда, SC_MINIMIZE - тип системной команды (минимизировать), 0 - дополнительное поле в
                                                                                                                  // данном случае не используется
  Close; // всё сделали, закрываем приложение


Vadikan 10-11-2024 13:48 3032655

Цитата:

Цитата Kamerin
Как я писал в первом сообщении, эта комбинация не подходит, ибо: »

Я предложил вам два сочетания клавиш. Второе, значит, подходит?

Цитата:

Цитата Kamerin
Завидую белой завистью, когда вот так, парой лёгких движений, без напряга, можно экзешник под любые задачи написать. »

Такое вам чатгпт написать может. А вот запускать неизвестные файлы без раздумий - это отвага!

Avatar-Lion 10-11-2024 18:48 3032666

Vadikan, Как ему может подходить второе сочетание, если Alt + Esc вообще ничего не сворачивает? :)

Kamerin 10-11-2024 23:39 3032671

Цитата:

Цитата Vadikan
Такое вам чатгпт написать может. »

Что за шайтан машина?! Действительно что то написал....
Диалог:
Мне нужно написать программу, которая сворачивает одно активное окно.
---
Вот пример простой программы на Python, которая сворачивает активное окно с использованием библиотеки `pygetwindow` и `pyautogui`. Убедитесь, что у вас установлены эти библиотеки:
pip install pygetwindow pyautogui
А затем вы можете использовать следующий код:

Скрытый текст
import pygetwindow as gw
import pyautogui

def minimize_active_window():
# Получаем список всех окон
windows = gw.getAllWindows()

# Находим активное окно
active_window = gw.getActiveWindow()

if active_window is not None:
# Сворачиваем окно
active_window.minimize()
print(f"Свержено окно: {active_window.title}")
else:
print("Нет активного окна.")

minimize_active_window()

Эта программа находит активное окно и сворачивает его. Запустите код, и активное окно будет минимизировано.
---
Забавно!
Я так понимаю, без установки Рython, опробовать код не получится?

Скрытый текст
Мне нужно написать программу на Delphi, которая сворачивает активное окно.
---
Для того чтобы свернуть активное окно в Delphi, вы можете использовать следующий код с использованием API Windows. Вот пример простого приложения:

Скрытый текст
uses
Windows, Messages, SysUtils, Classes, Vcl.Forms, Vcl.Controls, Vcl.StdCtrls;

procedure TForm1.Button1Click(Sender: TObject);
var
hwnd: HWND;
begin
// Получаем дескриптор активного окна
hwnd := GetForegroundWindow;
if hwnd <> 0 then
begin
// Свернуть окно
ShowWindow(hwnd, SW_MINIMIZE);
end;
end;

В этом примере:
1. Вы создаете кнопку на вашей форме (Button1).
2. Когда вы нажимаете на кнопку, программа получает дескриптор активного окна с помощью `GetForegroundWindow`.
3. Затем окно сворачивается при помощи функции `ShowWindow` с параметром `SW_MINIMIZE`.

Убедитесь, что у вас есть необходимые зависимости и используете правильный интерфейс для вашего проекта.

Это реально рабочий код?

Grabber2006 11-11-2024 21:13 3032700

Python надо либо ставить на машину (в принципе он лёгкий), либо делать EXE около 15 мб.

Цитата:

Цитата Kamerin
Это реально рабочий код? »

Нет, не рабочий.

Vadikan 12-11-2024 17:41 3032795

Цитата:

Цитата Avatar-Lion
Как ему может подходить второе сочетание, если Alt + Esc вообще ничего не сворачивает? »

А с чего вы взяли, что ему надо именно сворачивать? Да, он это просил. Ну и что?

Может он не знает другого варианта убрать окно с глаз долой. Но если у вас есть хоть одно другое окно во весь экран, именно это и происходит.

Vadikan 13-01-2025 13:49 3034997

Цитата:

Цитата Vadikan
Может он не знает другого варианта убрать окно с глаз долой. Но если у вас есть хоть одно другое окно во весь экран, именно это и происходит. »

Я знал...
Цитата:

В форуме я не получил отзыва ТС на свое предложение. Отреагировал лишь другой участник: "оно же не сворачивает ахаха". Однако спустя пару недель в чате точно такой же вопрос задал Андрей Шубин. И как выяснилось, он просто хотел убирать окно, нежели именно сворачивать его!

Сочетание Alt+Esc Андрея устраивало
Развернуто про это сочетание https://t.me/sterkin_ru/1709


Время: 00:02.

Время: 00:02.
© OSzone.net 2001-