1

Вопрос по c#, windows-xp – Удалить приложение из панели задач с помощью оболочки C #?

Есть ли способ создать оболочку C # для существующего приложения, которая позволит мне удалить его с панели задач?

Больше информации:

У меня есть приложение таймера, которое я предполагаю использовать, но не потому, что оно хорошо ... отстой. Увидетьhttps://superuser.com/questions/92774/quickbooks-timer-replacement-windows.

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

Другой вариант - перепроектировать таймер. Но это еще один проект на другой день. Прямо сейчас я был бы счастлив скрыть вещь.

Кнопка панели задач. Тогда мое приложение будет сидеть в systray. Или просто на рабочем столе.

от NitroxDM

Вы имеете в виду меню "Пуск"? Кнопка панели задач? или значок в трее?

от John Knoeller
1 ответ
1

Вам нужно будет найти окно

представляемое на панели задач, и удалить бит «показывать на панели задач» из его (расширенного) стиля. Это будет связано с переходом на уровень Windows API. Функции, которые вам понадобятся:

GetWindowLongPtr - восстановить существующий расширенный стиль (GWL_EXSTYLE)SetWindowLongPtr - установить новый существующий расширенный стиль (GWL_EXSTYLE)

Бит расширенного стиля, который нужно удалить,WS_EX_APPWINDOW.

Пожалуйста, смотрите документацию SetWindowLongPtr для информации об ограничениях на использованиеSetWindowLongPtr влиять на окна в других потоках, и, возможно, необходимо вызватьSetWindowPos вызвать визуальное обновление. Windows может даже помешать вам сделать это вообще (например, из соображений безопасности или удобства использования)

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

больше кода, пожалуйста, с полной функцией, если это возможно

от MonsterMMORPG

Похожие вопросы