Я работаю над панелью задач для вторичных мониторов. У меня это работает достаточно хорошо. У меня также есть эффект аэрозольного размытия. Но мой вопрос, вероятно, не связан с аэродинамикой.Keep Window Looking Active
Что я хочу сделать, так это чтобы окно панели задач всегда отображалось сфокусированным/активированным. Не нужно на самом деле фокусироваться или активироваться, я просто хочу, чтобы это выглядело так. Вы можете увидеть эффект, который мне нужен, просто поместив вызов setforgroundwindow в приложение бездействия. Но я не могу использовать это, поскольку я действительно не хочу, чтобы он хватался за такой фокус. Я просто хочу, чтобы он всегда выглядел так, как он делает, когда у него есть фокус.
Я пробовал всевозможные вызовы сообщений WM_XXX, как улавливание, так и отправку, я пробовал вызовы setwindowpos и так далее. Единственное, что сработало, - это вызвать Mouse_Event (MOUSEEVENTF_LEFTDOWN, а затем Mouse_Event (MOUSEEVENTF_LEFTUP). Мне не нравится это решение, хотя это действительно дрянной хак/обходной путь к тому, что я хочу делать. Но все, что вызывается с Mouse_Event, по сути, Мне нужно сделать только в том случае, фактически не нажимая на моем приложении или отправить его mouse_event вызовов.
ли ваше приложение * внешний вид * как панель задач? я спрашиваю, потому что «реальная» панель задач не имеет никакого сфокусированного/нефокусного взгляда - нет рамки без клиента для изменения цветов. я думаю, я не понимаю, что «сфокусированные» стихи «нефокусированные» будут искать панель задач. –
Да, он выглядит так же, как панель задач win7, когда она установлена в режим «aero». Из-за того, как мне пришлось реализовать код blurbehind, когда вы нажали на панель задач, он выглядел активным. Отключите его, и он выглядит дезактивированным. Ответ на самом деле помог мне решить эту проблему. – 2009-12-21 22:13:03
Я думаю, вы сможете увидеть скриншот здесь: http://www.facebook.com/photo.php?pid=106932&l=8cf7240918&id=100000261298303 – 2009-12-21 22:30:10