Program ablak tetején a többi ablak

program ablak tetején a többi ablak

Prompt ötlet: hogyan lehetne úgy feltalál, hogy a program megmutatja az ablak tetején az összes többi ablak? fsStayOnTop nem alkalmasak, például játékokat, ablak még mindig zárva. Példa - Fraps, az ablak mindig lógott.
Valami, amit nem talál máshol. Súgó Fórum!

Spit, nem fog működni. Csak próbáld futtatni két példányban a programokban, és biztosítsák azok összhangját a vonatkozó követelményeket egy példánya a kettő. Most képzeljük el, egy másik Napoleon.


> Példa - Fraps, az ablak mindig lógott.

Fraps lóg a kódot DirectX és az OpenGL funkciókat.
cm. Fraps gyik valahol a végén.
Ie A mutató - ez nem egy ablak.

Vagy állandóan érvénytelenítése? Az időzítő?

> A képes folyamatosan érvénytelenítése

És más lehetőség, hogy senki sem tudja? Ez nem lehet ugyanaz.

És van még egy normális megoldást nem találtam.

Az időzítő SetWindowPos, és érvényteleníti minden kötél szakad: egy ablak, vagy nem jelenik meg, vagy villog, így! És ez elérhető a játék a lehető legkisebb legyen (ami mellesleg, persze, de szeretném, hogy kb).

Ha megy a környéken, és győződjön meg arról, chtooby játék közben Fraps akasztottam a típusú mutató „ovogo, máskor - egy egyszerű ablak stayontop stílus, felmerül a kérdés: hogyan lehet” lógni kód DirectX „És ez lehet, hogy egy időzítőt? gyakori?

Nos mondani semmit, pliz! Bár az ötlet, felismerve magát. Hol, Mester?

> Lessza # XA0; (28.05.04 09:28) [10]
Szeretném kipróbálni, hogy egy globális kommunikációs lehallgatás csapda, amely kezeli WM_WINDOWPOSCHANGING, WM_ACTIVATE. És ha nem kap ki az ablakon próbál, hogy ne engedjük, hogy ezt tegye.

Nem, nem kell, hogy nem teszi lehetővé, hogy valaki másnak, hogy ki az ablakon. Szükséges, hogy az ablak fölött volt, és hogy ez elérhető a játék nem hajtva. Az, hogy lehet csinálni? És akkor, talán, elfutottam a nyomozásban.

> Lessza # XA0; (28.05.04 10:28) [12]
> Nem, nem kell, hogy ne hagyjuk egy idegen kijutni ablakban
Nem jelenti azt, hogy elrejteni. Csak ne adj neki valazit fel, vagy erőszakkal átalakítani az ablakot fel.

Um. És ez egy jó ötlet. Megpróbálom. És lehetséges, részletesebben?

> Lessza # XA0; (28.05.04 10,45) [14]
Mi több?

Mintegy csapdákat. Mi ez fogni? És mi köze van a lehallgatás? És mi lesz a közelítő eredmény?

egyszerűen időzítő felhívni közvetlenül a DC az ablak tetején vagy közvetlenül az asztalon (dc = 0).

Um. És ez egy jó ötlet. Megpróbálom. És lehetséges, részletesebben?

Rossz ötlet.
Ez azon a tényen alapul, hogy senki más nem használ hasonló módon. Ellenkező esetben nem működik.

> Rossz ötlet.
Elnézést, nem értettem, mi a rossz?

> Egyszerűen időzítőt, hogy rajzoljon a DC az ablak, hogy a> tetején vagy közvetlenül az asztalon (dc = 0).
Az időzítő túl lassú, és minden villog, flash, és rettenetesen idegesítő. És akkor, ha csak rajzolni, lehetséges, hogy kattintson a figura etotm címemet a programban.

Tettem egy sort, és miért írta az orosz rossz.


> Mi lenne mindenki a tetején az összes

Nos, mondjuk én nem mondom, hogy :) Személy szerint én kíváncsi vagyok - hogyan lehet róla, hogy az ablak felmászott a tetején a játék legalább egy ideig, majd hagyjuk, hogy felülbírálja a szíved tartalmát.


>> egyszerűen időzítő felhívni közvetlenül a DC az ablak
> Ez> a tetején vagy jobb az asztalon (dc = 0).
> Az időzítő túl lassú, és mindezt villog, villog
> És borzasztóan idegesítő. És akkor, ha csak rajzolni, kivéve, ha
> Ha rákattint a rajz etotm címemet a programban.

Vegyük a multimédia időzítő. Kinek gyakran az időzítőt, és látható lesz.
De oly gyakori ábrázolása sokkal terhelést a rendszer.
Kattintson fogás is, amivel a globális horgot. Egy másik essno lehetetlen.

> Személy szerint én kíváncsi vagyok - hogyan kell megtenni, hogy ablak kiszállt
> Top a játék legalább egy ideig, majd hagyd, hogy
> Overlap, amennyit csak akar.

SetWindowPos () + HWND_TOPMOST

Próbáld ki ezt:

eljárás TForm1.FormPaint (Sender: TObject);
kezdődik
# XA0; SetWindowPos (Handle, HWND_TOPMOST, Bal, Fel, szélesség, magasság, 0);
végén;

Köszönet minden tanácsot (más programot, akkor sokat segített)!

Kapcsolódó cikkek