Kuinka tuo tehtäisi silleen että nappia painettaessa esimerkiksi joku peli menisi piiloon?
Etsit vaikka FindWindowilla ikkunan kahvan ja sitten ShowWindowilla pienennät sen.
Juu no nyt toimii. Mutta mitenkä menis sillä tavalla että se pienentäisi päällimäisenä olevan ohjelman?
GetForegroundWindow palautta aktiivisen ikkunan hwnd:n.
No nythän tapahtuu kummia.
procedure TForm1.Timer1Timer(Sender: TObject); var h : HWND; begin if (GetAsyncKeyState(57)) = 0 then begin h := GetForegroundWindow; ShowWindow(h, SW_MINIMIZE); end; end; end.
Toi pienentää kaikki ikkunat mitkä löytää >,<
(Mod. edit. Käytä kooditageja.)
Niinhän se tekee. Varmaan kannattaisi tarkistaa, että nappia on painettu eikä että ei ole. Lisäksi tarvinnet tarkistuksen, että sulkemista ei tehdä liian usein. Laita siis vaikka proseduurin alussa ajastimen intervalliksi se, mikä kuuluukin, ja jos nappia painettiin, laita intervalliksi jokin isompi. Näin tarkistus tehdään painamisen jälkeen seuraavan kerran vasta hieman myöhemmin, ja uudella tarkistuksella ajastimen intervalli palautuu.
Aihe on jo aika vanha, joten et voi enää vastata siihen.