Как удалить значок окна WPF во время выполненияC#

Место общения программистов C#
Ответить
Anonymous
 Как удалить значок окна WPF во время выполнения

Сообщение Anonymous »


Мне было интересно, есть ли простой способ добавить и удалить значок окна WPF во время выполнения. Это не повторяющийся вопрос; пожалуйста, прочитайте его внимательно. Мне нужен способ скрыть значок окна WPF во время работы программы и инициализации окна. Все мои поисковые запросы перенаправляются на этот пример кода (из Stack Overflow):

IntPtr hwnd = новый WindowInteropHelper(window).Handle; // Изменяем стиль расширенного окна, чтобы не отображался значок окна int ExtendedStyle = GetWindowLong(hwnd, GWL_EXSTYLE); SetWindowLong(hwnd, GWL_EXSTYLE, ExtendedStyle | WS_EX_DLGMODALFRAME); // Обновляем неклиентскую область окна, чтобы отразить изменения SetWindowPos(hwnd, IntPtr.Zero, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED); ...что не работает. Я много пробовал и могу подтвердить, что в 64-битной Windows 10 версии 1607 он вообще не работает. Еще один пример кода, на который меня перенаправили (также из Stack Overflow):

const int ICON_SMALL = 0; константный интервал ICON_BIG = 1; IntPtr hWnd = новый WindowInteropHelper(this).Handle; int currentStyle = (int)GetWindowLong(hWnd, GWL_EXSTYLE); SetWindowLong(hWnd, GWL_EXSTYLE, (uint)currentStyle | WS_EX_DLGMODALFRAME); SendMessage(hWnd, WM_SETICON, (IntPtr)ICON_SMALL, IntPtr.Zero); SendMessage(hWnd, WM_SETICON, (IntPtr)ICON_BIG, IntPtr.Zero); SetWindowPos(hWnd, IntPtr.Zero, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED); ...что тоже не работает. Оба варианта можно увидеть в различных вариантах по всему сайту, но я не могу заставить ни один из них работать, даже за пределами Visual Studio. Есть ли теперь какой-то новый способ, который работает только с Windows 10? Казалось бы, не работает именно перерисовка кадра. Насколько я понимаю, он ничего не перерисовывает. Есть ли другие варианты? Любая помощь приветствуется.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»