Как я могу остановить панель задач Windows от скрытия сфокусированного приложения, когда я нажимаю на элемент панели задач приложения?

2879
Jon

В настоящее время в Windows, если вы щелкнете приложение на панели задач, оно будет отображено в передней части рабочего стола.

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

Я хотел бы отключить эту вторую функцию, чтобы при нажатии на приложение оно всегда отображалось впереди, даже если оно уже есть.

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

По моему опыту, Mac OS X и Ubuntu уже делают это по умолчанию. Только Windows при таких обстоятельствах скрывает приложение, на которое нажали.

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

Примечания: Просто чтобы уточнить, внешний вид самой панели задач в порядке. Я никогда не группирую свои элементы панели задач и использую TaskbarTweaker, чтобы остановить предварительный просмотр аэродинамического пика и т. Д. У меня проблема с тем, что при щелчке по текущему фокусированному элементу панели задач скрывается приложение, которое оно представляет.

5
+1 за вопрос, согласен - это действительно раздражает! Связано, но решения тоже нет: http://superuser.com/questions/470022/is-there-a-way-to-stop-windows-7-from-minimizing-a-window-with-focus-when-clicki Но ИМХО Windows 95 или NT4 так себя не ведут. mpy 11 лет назад 0
@mpy: я не помню, чтобы Win95 или NT4 вели себя по-другому в этом отношении. Karan 11 лет назад 0
@Jon: Так как это * дубликат *, я только что сэкономил вам несколько ценных очков репутации (ИМХО, вы, возможно, хорошо меня наградили). :) Проверьте связанный вопрос для [мой ответ] (http://superuser.com/a/571313/138343) и радуйтесь! Karan 11 лет назад 0

2 ответа на вопрос

1
kmort

The only way I can think of is a terrible hack. Basically, you write a program that hooks mouse clicks over the top of the taskbar and you process the logic yourself.

GetActiveWindow and GetFocus will help you know what window has the focus.

Hook the mouse and process the clicks. Make sure to pass them on once your program has processed them.

Note this is a terrible hack.

Создание моего собственного инструмента - вариант, но я действительно не хотел идти по этому пути, если бы мог помочь. Jon 11 лет назад 0
Вы можете гуглить вокруг, но я думаю, вы не найдете много. Если вы пишете это самостоятельно, вы автоматически становитесь экспертом в предметной области, так как, очевидно, никто больше этого не делает. И для некоторой поддержки это не очень сложная задача программирования. Загрузите одну из бесплатных версий Visual Studio и используйте C / C ++ / C #. Вы найдете это проще, чем вы думаете. Удачи. kmort 11 лет назад 0
0
user208415

I am not really sure what you mean by at the front/back. I am assuming that for some reason your windows are stacked. If you right click the taskbar you have three options of how programs will display in the taskbar, Cascade, Stacked, or side by side. If you want to change how icons appear in the notifications area, then right click the taskbar/properties/customize notifications.

If you are talking about when it combines the program windows and hides them, then right click the taskbar/find taskbar buttons/click combine only when taskbar is full or never combine.

If you are talking about keeping a selected open program window on top of other windows on the desktop, then go here and download "Always On Top"(this program allows you to select a window that will be on top and you can repeat for other windows as necessary). http://www.pcworld.com/article/218511/Windows.html

Спасибо за ваш ответ, но, к сожалению, это не один из этих трех. Я хочу, чтобы щелкнул элемент панели задач, чтобы убедиться, что приложение, которое оно представляет, отображается на экране. В настоящий момент, если приложение отображается на экране и вы щелкаете его элемент панели задач, Windows скрывает окно приложения. Jon 11 лет назад 0
Извините, мой вопрос был немного сложен для понимания ранее. Я переписал его и добавил пример. Как вы думаете, теперь это имеет больше смысла? Jon 11 лет назад 1
@Jon +1 - я думал, что вы хорошо поработали, объяснив что-то, что было трудно объяснить. webworm 9 лет назад 0