Přesun "zamrzlého" okna
Potřeboval bych ve Win 7 přesunout okno aplikace, která se tváří zamrzl nebo spíše busy(například po zahájení činnosti sena 5sekund čeká, je zamrzlá, pak updatuje okno , například tam přidá další vypočtenou hodnotu a dál pokračuje). Jak na to?
Ako admin dohliadni na to, aby nebola busy.
TO nejde, to by tak znefunkčnilo ten program. A není to chyba programu (pochybuji, že by program naschvál dočasně upravil parametry okna, aby nešlo přesunovat), ale windows. Taky když jsem zkusil změnit pozici okna přes tweakovací utilitu(titulky, labely, buttony, pozice, on top, průhlednost), tak se ta utilita svezla v záseku s tím programem (že vytuhla do té doby než se na okamžik odsekl program, a změnil pozici)
Napsat program pořádně by jej znefunkčnilo? Je víc možností - častěji obsluhovat frontu zpráv, provést zpracování ve vlákně, takže pak je rozhraní programu normálně funkční apod.
Bude třeba změna přístupu. Pokud víš, že aplikace bude pracovat dlouo a bude zamrzlá, tak to okno přesuň před tím, neš spustíš tu akci v aplikaci. Nebudeš muset řešit hlouposti s tweakováním apod.
Windows po nějakém čase, když aplikace neodpovídá, vytváří tzv. Ghost Window, které přesouvat jde. Tím směrem zaměř své pátrání.
Jo, to ghost window vytvořilo, zšedl obsah jde to. Problém je (vyřešen), že ještě po další chvíli si aplikace zobrazí nějaký popup (nestandartní okno) a pak už nejde přesouvat vůbec.
Ale to je problém té aplikace. Nezbude nic jiného než opravit aplikaci než se to pokoušet řešit nějak externě.
Nebo má úplně první rada - aplikaci přesunout a pak teprve spustit dlouho trvající akci.
Okna prekresluju aplikacie, win im len posiela spravy. ked ta aplikacia tie spravy nespracovava, tak sa nic neprekresluje. Problem aplikacie, ako uz bolo pisane. Navyse ak vytvori modalny dialog tak idu spravy do neho, a s hlavnym oknom sa neda robit nic. Tiez problem aplikacie.
P.S. ak ti to okno zavadzia, tak mozno sa da aspon minimalizovat aj ked ap nereaguje, ale neviem teraz zhlavy. (minimalizovat musis asi to dialog okno)