Tak, znajduję się w wątpliwej pozycji wykonywania połączenia SwitchToThisWindow
, aby zmusić moje okno do przodu. Zgadzam się, to nie jest idealne, ale nie zawsze można argumentować przeciwko "cechom" produktu, które inni uważają za konieczne.SwitchToThisWindow wysyła bieżące okno do tyłu
Teraz uważam SwitchToThisWindow
być wygrana nad AttachThreadInput
włamania do roboty przymusowe przełącznik okno jak jego mniej prawdopodobne do impasu i powinien SwitchToThisWindow
zostać usunięte lub przestają funkcjonować nie będę narzekać.
Jednak niefortunny efekt uboczny polega na przesunięciu bieżącego okna pierwszego planu do dolnej części porządku z-z, oprócz przeniesienia okna docelowego na górę, gdy FALSE jest przekazywane dla parametru fAltTab, i nie robi nic, jeśli PRAWDA jest przekazywana.
Jak mogę uniknąć tego zachowania "push current active to z-bottom" bez odwoływania się do AttachThreadInput
?
Alternatywnie, MS może po prostu usunąć AttachThreadInput
jako wykonalne obejście i mogę po prostu powiedzieć mojemu menedżerowi, że niemożliwe, jest w rzeczywistości niemożliwe.
Zakładam, że nie można po prostu użyć ['SetForegroundWindow'] (http://msdn.microsoft.com/en-us/library/ms633539.aspx)? Nie jest jasne, jaką dokładnie cechę produktu musisz zaimplementować, z wyjątkiem ustawienia okna z przodu. 'SetForegroundWindow' działa nawet w przypadku okien, które są podłączone do innego wątku niż ten, w którym aktualnie się znajdujesz, ale wymaga to, aby aplikacja była aktualnie na pierwszym planie. Nie mogę powiedzieć, czy to tutaj jest problem. –
Na tym polega problem: przejście na pierwszy plan, nawet jeśli użytkownik ma inną aplikację aktywną. –
Rozumiem. Chcesz być jedną z * tych * aplikacji. Nic dziwnego, że opisujesz swoją pozycję jako "nie idealną". Czy nie ma wiggle room, aby zrobić rzeczy "prawo" i pokazać ikonę powiadomienia lub suwak toast? Pokaż swojemu szefowi: "Dobrze zaprojektowane programy wykorzystują obszar powiadomień w odpowiedni sposób, nie będąc denerwującym ani rozpraszającym.] (Http://msdn.microsoft.com/en-us/library/aa511448.aspx)" :-) –