Pencerenin önüne getirmek istiyorum (diğer uygulamalardan). Şu anda kullanıyorum:Diğer uygulama pencereleri etkinleştirilmeden nasıl ön tarafa getirilir?
::SetWindowPos(hwnd, GetForegroundWindow(), 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
Düzgün çalışır, ancak bazı (bana bilinmeyen) durumlarda, üstte her zaman penceresi yapar. MSDN'ye göre, GetForegroundWindow()
yerine HWND_NOTOPMOST
kullanmalıyım, ancak çalışmıyor - pencere diğer (her zaman üstte değil) pencerelerinin altında kalır.
Bir pencereyi etkinleştirmeden nasıl öne getirebilirim?
Belgeler, "HWND_NOTOPMOST" öğesinin "pencere zaten en üstte olmayan bir pencere olması durumunda hiçbir etkisi olmadığını" söylüyor. –
Burada bazı alternatifler: http://stackoverflow.com/questions/916259/win32-bring-a-window-to-top –
* Diğer soruya verilen cevapların hiçbiri iyi bir çözüm değildir. Bütün bu soru sadece bir karmaşa. David cevabını burada aldı. –