У меня есть полноэкранное приложение, которое не фиксирует контекст курсора, но всегда должно отображаться поверх всех окон, включая контекстные окна Windows, панель задач и закрепленный диспетчер задач.
Вот что у меня есть на данный момент:
Мое окно появляется поверх всех окон программы, за исключением стандартных контекстных или всплывающих окон Windows 11 и диспетчера задач, который закреплен поверх окон.
Единственный способ, который я нашел, чтобы частично это исправить, — это установить не только SetWindowPos, но и SetWindowLong по таймеру, но в данном случае контекст или всплывающее окно Windows 11 закрывается. А с Диспетчером задач он вообще не работает.
Может быть, вы знаете способ? Подойдет решение любого уровня сложности.
Дополнительно. В моем приложении только одно окно, которое в основном прозрачное. В этом окне отображаются только те виджеты, которые мне нужны, например экранная клавиатура.
У меня есть полноэкранное приложение, которое не фиксирует контекст курсора, но всегда должно отображаться поверх всех окон, включая контекстные окна Windows, панель задач и закрепленный диспетчер задач. Вот что у меня есть на данный момент: [code]public partial class MainWindow : Window { private const int EXIT_HOTKEY_ID = 9355; private const int WM_HOTKEY = 0x0312; private const int GWL_EXSTYLE = -20; private const int WS_EX_NOACTIVATE = 0x08000000; private const int WS_EX_TOPMOST = 0x00000008; private const uint SWP_NOSIZE = 0x0001; private const uint SWP_NOMOVE = 0x0002; private const uint SWP_NOACTIVATE = 0x0010; private const uint SWP_SHOWWINDOW = 0x0040; private const int WH_CALLWNDPROC = 4;
[DllImport("user32.dll")] private static extern bool UnregisterHotKey(IntPtr hWnd, int id);
[DllImport("user32.dll")] private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("user32.dll")] private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
[DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount); } [/code] Мое окно появляется поверх всех окон программы, за исключением стандартных контекстных или всплывающих окон Windows 11 и диспетчера задач, который закреплен поверх окон. Единственный способ, который я нашел, чтобы частично это исправить, — это установить не только [b]SetWindowPos[/b], но и [b]SetWindowLong[/b] по таймеру, но в данном случае контекст или всплывающее окно Windows 11 закрывается. А с Диспетчером задач он вообще не работает. Может быть, вы знаете способ? Подойдет решение любого уровня сложности. Дополнительно. В моем приложении только одно окно, которое в основном прозрачное. В этом окне отображаются только те виджеты, которые мне нужны, например экранная клавиатура.
Это ошибка в Visual Studio 2022 или я что-то упускаю?
Я не знаю, почему только нажатие кнопки открывает окно сверху, как я хочу. Размещение кнопки в представлении навигации выглядит неправильным.
Вот код, который открывает новое окно поверх всех...
Я создал приложение WPF (.NET Framework), которое действует как средство запуска для других приложений, существующих в том же каталоге, что и средство запуска. Когда я запускаю большинство приложений, они не отображаются на переднем плане, я вижу...
Мне нужно получить дескриптор окна, выбранного пользователем, а затем получить его дескриптор. Это окно должно быть одним из тех, которые отображаются при нажатии ALT+TAB.
Я пробовал перечислять окна с помощью EnumWindows, но он не перечисляет...
В Windows 11 стиль Windows Basic (без Aero) по-прежнему присутствует в некоторых местах. Форма, отображаемая в конструкторе Visual Studio, а также в приложениях MDI, отображает тему Windows Basic в стиле Windows 7.
Вы можете сделать этот стиль...
Я вызываю SetWindowPlacement в своем приложении WPF, чтобы сохранить и восстановить расположение окна. Это прекрасно работает, но заявленная возможность гарантировать, что окно никогда не будет полностью скрыто, похоже, не работает, когда окно...