Посмотреть глубину проблемы панели инструментов приложения MFC - PullRequest
0 голосов
/ 09 ноября 2018

Я занимаюсь разработкой приложения MFC C ++. Он показывает значок на панели инструментов Windows. Вид приложения MFC скрывается за панелью задач Windows.

Хотя я использовал примеры кодов, которые искали в сети, чтобы вывести их на панель задач Windows. Это все еще застревает позади.

Я хочу, чтобы мое приложение MFC отображалось как этот Google Drive, который находится в верхней части панели задач Windows Вид MFC отображается поверх панели задач Windows

Я использовал пример кода в сети, чтобы добиться этого, но он не работает. Вот фрагменты кода, которые я использовал

::SetWindowPos(GetParent()->GetSafeHwnd(), HWND_TOPMOST, glStartX, glStartY, glWidth, glHeight,  SWP_NOREDRAW);

а вот еще один

if (::GetForegroundWindow() != this->m_hWnd)
   {
      HWND h_active_wnd = ::GetForegroundWindow();
  if (h_active_wnd != NULL)
  {
     DWORD thread_id = GetWindowThreadProcessId(h_active_wnd, NULL);
     DWORD current_thread_id = GetCurrentThreadId();
     if (current_thread_id != thread_id)
     {
        if (AttachThreadInput(current_thread_id, thread_id, TRUE))
        {
           ::BringWindowToTop(this->m_hWnd);
           AttachThreadInput(current_thread_id, thread_id, FALSE);
        }
     }
  }
}

  HWND hWnd = ::GetForegroundWindow();
  DWORD fromId = GetCurrentThreadId();
  DWORD toId = GetWindowThreadProcessId(hWnd, NULL);
  AttachThreadInput(fromId, toId, TRUE);
  HWND focus = ::GetFocus();

Буду признателен за любые советы от вас. Все эти примеры не работают в моем приложении MFC.

...