Как сделать ярлык для команды Win+M?

Статус: Offline
Реєстрація: 18.04.2008
Повідом.: 154
Как сделать ярлык для команды Win+M?

Нужен совет как сделать ярлыки для команд Win+M (минимизация окон) и Shift+Win+M (восстановить окна). Стандартный ярлык "Свернуть все окна" и команда Win+D не годятся. Только Win+M. Это нужно для правильной работы одной программы. Хочу новыми ярлыками заменить стандартный ярлык. Сам не программист, поэтому код не составлю.
 
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
 
Тільки зареєстровані користувачі бачать весь контент у цьому розділі

Интересный линк. Много полезного, но как на зло ничего нет про нужные мне комбинации клавиш. Я когда про код говорил, то имел в виду аналог создания ярлыка для команды Win+D:
Как восстановить файл Свернуть все окна/Shows Desktop:
– щелкните правой кнопкой мыши по свободной от значков поверхности Рабочего стола;
– из открывшегося контекстного меню выберите Создать –> Текстовый документ;
– появится значок созданного документа, задайте ему название Свернуть все окна (или Shows Desktop);
– откройте документ и введите (или просто скопируйте) следующие строки
[Shell]
Command=2
IconFile=explorer.exe,3

[Taskbar]
Command=ToggleDesktop

– сохраните файл;
– теперь, чтобы система «поняла», что этот файл запускает команду Свернуть все окна, нужно сменить расширение файла с TXT на SCF.

Я в сети нарыл код эмуляции нажатия клавиш на Delphi, но ничего в этом не понимаю (даже формат файла для такого кода не знаю).
 
смотри, делаешь такой же файлик, только вместо ToggleDesktop ставишь команду одну из этих
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
.
должно сработать, главное найти нужную...я сейчас поищу, но не обещаю
MinimizeAll не сработало. Думаю дальше)


Нашла
делаешь текстовый документ
в нем пишешь
call CreateObject("Shell.Application").MinimizeAll
далее сохраняешь файл с удобным тебе именем
меняешь расширение на vbs
готово!)
 
Останнє редагування:
Есть программы, которые при сворачивании прячуться в системный трей (там, где часики) ;)
Интересно, а как их восстановить?
 
а смысл?
 
делаешь текстовый документ в нем пишешь
call CreateObject("Shell.Application").MinimizeAll
далее сохраняешь файл с удобным тебе именем
меняешь расширение на vbs
готово!)

Спасибо. Работает. :клас: На указанном ресурсе есть также нужный код UndoMinimizeAll:
Set objShellApp = CreateObject("Shell.Application")
objShellApp.MinimizeAll
WScript.Sleep 300
objShellApp.UndoMinimizeAll

Я попробовал повторить с ним ту же процедуру, но запутался. Этот код содержит больше значений. Простая подстановка call CreateObject("Shell.Application").UndoMinimizeAll - заработала, но частично. Она восстанавливает одно свёрнутое окно. Должно быть это из-за отсутствия параметра WScript.Sleep 300.
 
Останнє редагування:
Данный скрипт - ни что иное как просто демонстрация, и WScript.Sleep 300. говорит просто подождать 300 (наверное миллисекунд) после того, как все окна свернуты, и перед тем, как их всех обратно развернуть.
Если не на все окна сработало, то здесь не в том причина.
скорее всего часть окон свернулась в трей (по своей природе они могут так делать;))
а UndoMinimizeAll разворачивает только те приложения, которые были свернуты на панель задач. Как развернуть из трея все подряд я так и не нашла
 
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
Подскажите как оформить и применить этот код?
Программно свернуть все окна:
keybd_event(VK_LWIN, 0, 0 ,0);
keybd_event('M', 0, 0 ,0);
keybd_event('M', 0, KEYEVENTF_KEYUP,0);
keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP,0);
 
ну наверное если учесть, что этот кусок был в разделе СБилдера, то в нем и используется, честно говоря никогда не пользовалась генерацией события нажатия клавиш где либо, а судя по всему здесь именно это, поэтому ничего вразумительного сказать не могу.
может просто на событие нажатия чего-нибудь на формочке или еще по каким то критериям вставить это просто как кусок кода. Правда не вижу, чтоб там написали что подключить при этом.
 
В продолжение темы:
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
 
Нужен совет как сделать ярлыки для команд Win+M (минимизация окон) и Shift+Win+M (восстановить окна). Стандартный ярлык "Свернуть все окна" и команда Win+D не годятся. Только Win+M. Это нужно для правильной работы одной программы. Хочу новыми ярлыками заменить стандартный ярлык. Сам не программист, поэтому код не составлю.

Может нужно по запуску твоей программы чтоб все чужие окна минимизировались, а после выхода из твоей программы - восстанавливались?
 
Она висит на рабочем столе и при нажатии ярлыка "Свернуть все окна" (на самом деле это "показать рабочий стол") тоже пропадает из вида. Скрипты, которые посоветовала TaJa, работают. Жаль, что их два, а не один для двух операций.
 
ну так просто можно тогда сначала в скрипте закрывать все окна, а потом показывать окно, название которого вы знаете, так как это ваша програмулина. вот и все.
Почитайте про VBS там много интересного можно написать)
 
оу, я и забыла)
не, ну могу помочь)
только без самой програмулины вряд ли смогу), так что катай мне на мыло tabachnaya-jane(sabaka)**********
 
Спасибо за советы. В сети обнаружилась утилитка MinUnMinAll – Toggle MinimizeAll/UndoMinimizeAll (alternative for Show Desktop), которая делает именно то, что надо. Думается в этой теме вопрос сворачивания окон раскрыт полностью.
 
Назад
Зверху Знизу