Вопрос

Эй, я действительно застрял со своим проектом...Мне нужно знать, когда какое-либо открытое окно было свернуто/восстановлено, и обработать это событие в моем собственном приложении.Есть идеи?

Редактировать:Musigenesis прав, я хочу знать, когда ДРУГИЕ приложения свернуты/восстановлены.

Это было полезно?

Решение

Я думаю, вам нужно будет использовать функцию API SetWindowsHookEx Win32 (наряду с некоторыми другими).По сути, вы должны перебирать все открытые окна в ОС и подключаться к их событиям изменения размера.

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

Обновлять:Я думаю, что «Показать рабочий стол» в Windows работает примерно так, за исключением того, что он перебирает все открытые окна, а затем использует SendMessage, чтобы свернуть их, если они открыты (полное предположение с моей стороны).

Обновление 2:это сложный вопрос, и мне очень интересно узнать, как это можно сделать (я на 100% уверен, что это является возможный).Я слежу за этим вопросом, и если в ближайшие день-два никто не ответит, я опубликую его снова и предложу за него вознаграждение (вы можете это сделать, но вам нужно иметь некоторые собственные очки репутации, которые можно предложить в качестве награды).

Другие советы

Предполагая, что вы используете Windows Forms, вы можете справиться с OnSizeChanged событие, и протестируйте WindowState

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top