Окно на передний план (WIN 10)

540
11 февраля 2017, 07:48

Есть два приложения которые работают параллельно (условно 1 и 2). Приложение 2 написано на С++(Qt). Нормальная работа приложения 2 - окно на весь экран с перекрытием меню "Пуск". Когда приложение 1 дает сигнал, приложение 2 должно вывести свое окно на первый план, при этом, закрыть собой весь экран (т.е. панель пуск не видна). На данный момент используются два метода: show(); и activateWindow();. Но они только выводят окно в перед, при этом не закрывая панель пуск и видно как ярлык мигает желтым цветом.

Ранее уже были проверены еще некоторые методы и функции:

  1. AllowSetForegroundWindow(true); - нет эффекта.

  2. HWND hand = FindWindowA("LVDChild", "name"); if(hand) SetForegroundWindow(hand); - помогает с выводом приложения 1, но с приложением 2 такой же эффект как и от activateWindow();.

  3. setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); - работает через раз, точнее 1 раз срабатывает и больше не получается.

  4. SetWindowPos ( hwndYourWindow, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE ); ... SetWindowPos ( hwndYourWindow, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE ); - нет эффекта.

Интересен тот факт, что такое поведение наблюдается только на Windows 10. Ранее приложения стояли на Windows 7 86/64 и Windows 8 86/64 и таких проблем вообще не было.

У кого какие идеи?:)

Answer 1

работает на Win7:

//Убираем рамки
LONG lStyle = GetWindowLong(window, GWL_STYLE);
lStyle &= ~(WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | WS_SIZEBOX);
SetWindowLong(window, GWL_STYLE, lStyle);
//Двигаем окно
SetWindowPos(window, HWND_TOPMOST, 0, 0, 1920, 500, SWP_SHOWWINDOW);
READ ALSO
Запись данных в свойство класса

Запись данных в свойство класса

Есть конструктор, который принимает строку-число, цифры которого записывает в массив numberПри выводе данного массива получаю почему-то рандомные...

330
Использование boost::bind() и shared_from_this()

Использование boost::bind() и shared_from_this()

В примере асинхронного tcp-сервера на бусте связывается функция (все это происходит в классе, наследующим enable_shared_from_this):

369
алгоритм std::move

алгоритм std::move

Испортит ли эта инструкция данные в файле?

312