Hogyan kap egy alkalmazás ablak tetején a többi ablak

Hogyan kap egy alkalmazás ablak tetején a többi ablak

Hello mindenkinek! Hogyan kap egy alkalmazás ablak tetején az összes ablak? Ez a tulajdonság lehet megadni az egyes alkalmazásokhoz.
Létre kell hozni egy időzítőt az internet klub.

SetWindowPos () + HWND_TOPMOST + gyakori gyakori időzítő

És ez nem fog működni?

eljárás TForm1.Timer1Timer (Sender: TObject);
kezdődik
# XA0; # XA0; # XA0; # XA0; FormStyle: = fsStayOnTop;
végén;


> És ez nem fog működni?

Ne menj. Így kell a klub. Bármilyen játék gördül majd egy ablakot. Anélkül, időzítő nem tud itt.

Hogy deff ++
és mikor váltott OnIdle


> És ez nem fog működni?
>
> Eljárás TForm1.Timer1Timer (Sender: TObject);
> kezdődik
> # XA0; # XA0; # XA0; # XA0; FormStyle: = fsStayOnTop;
> End;

Ez nem működik :( Amikor fut a játék, az ablak nem látható.
----------------------------------------------------------

>> És ez nem fog működni?
>
> Ne menj. Így kell a klub. Bármilyen játék tekercs
> Ablak. Anélkül, időzítő nem tud itt.

Freak adott példát egy időzítő (nem vetted volna észre)
----------------------------------------------------------
És az a tény, hogy ő írta Deff ++ én jön ki. Csináltam egy rutin, hogy vyzyvaetsya a OnIdle és elrendelte FormStyle: = fsStayOnTop. OnIdle de nem abban az időben váltott :(
Tettem fsStayOnTop a OnDeactivate alkalmazása esetén, de még ebben az esetben nem történt semmi.

Ha lehetséges, egy példát. Előre is köszönöm

# XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; Gondolkodó

SetWindowPos (fogantyú, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE vagy SWP_NOMOVE), bár az időzítő, bár a Inaktiválás

2. Most próbálom Igor.

2 DVM én nagyon hálás lenne, ha segít a blokkoló. Én magam úgy gondoltam, hogy kibontjuk a formáját az egész képernyőt, és hogy BorderStyle = bsNone, de ebben az esetben van szükség, hogy felülbírálja a Windows gombra.

Ha vannak jobb lehetőségek (biztos vagyok benne vannak :)) Én szívesen, ha tudok segíteni :)

nem teljesen látható ablak alig alig vibrál :(

1. Ha azt szeretnénk, hogy tájékoztassa az ügyfelet abban az időben a régi játékok - mint például a vége előtt az ülés balra, majd közvetlenül írhat a képernyőre [Object Screen]
2. elrejtése az összes ablakot kitárta főablak teljes képernyős - vagy. Tudod, hogy trükkös Win XP # XA0 - transperent 100% $))) hosszú szenvedés az embereket.

3. Általában ez elég zavaró, hogy írjon egy igazán jó dolog a klub programot. Egy kis fuflyandiyu minden fiatal liba hall leölés

> SetWindowPos (fogantyú, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE vagy
> SWP_NOMOVE), bár az időmérő, de a deaktiválás

A form2 do
SetWindowPos (fogantyú, HWND_TOPMOST, 0, 0,
0, 0, SWP_NOACTIVATE vagy SWP_NOMOVE vagy SWP_NOSIZE);

Így lesz ez a helyes

> Meg kell létrehozni egy időzítőt az internet klub.
> 2. Elrejtése az összes ablakot kitárta főablak teljes
> Screen - vagy.
Ne tiltsa Claudia és az egér nem jobb?

Bocsáss meg, a felhasználók a klub

WinExec ( "rundll32 egér, tiltsa", 1);
WinExec ( "rundll32 billentyűzet, tiltsa", 1);

Lesz még egy probléma az időzítőt. mert Sok igruhi dolgozni elsőbbségi REALTIME, azt kockáztatja, egyáltalán semmi, hogy ellenőrizzék a 100% -os terhelés Proca. Ezért szükséges, hogy hozzon létre egy multimédia időzítő és áramlás a prioritás REALTIME, amely megtartja őt.


> 1. Ha a bejelenteni kívánt infu ügyfél a játék során -
> Mint például vége előtt az ülés balra, majd közvetlenül írhat
> Az [Object Screen]

Nem tudok írni a képernyőre :( Tud segíteni? Én is nagyon hálás


> WinExec ( "rundll32 egér, disable", 1);
> WinExec ( "rundll32 billentyűzet, disable", 1);

Írtam, hogy az ilyen dll nem található! Lehet, hogy attól függ, hogy a változat vindous.

törölt moderátor
Megjegyzés: létrehozása egy üres üzenetet

BEGLEC, apihelp hol vagy? Segítség!

> Gondolkodó # XA0; (23.05.04 05:34) [18]
> BEGLEC, apihelp hol vagy? Segítség!

Megértem, hogy a szerver lehetővé teszi a gyermek formájában, amely lefedi a képernyőn. (Azt hiszem, ez a megközelítés nem hatékony). Nos, a tulajdonos a mester.
Tehát a 2 forma.
felhasználások
# XA0, a Windows, az Üzenetek, SysUtils, Változatok, osztályok, grafika, vezérlők, Forms,
# XA0; Párbeszédpanelek, StdCtrls;

típus
# XA0; TForm2 = osztály (TForm)
# XA0; # XA0; Edit1: tSzerkesztés;
# XA0; # XA0; Button1: TButton;
# XA0; # XA0; Button2: TButton;
# XA0; # XA0; Label1: TLabel;
# XA0; # XA0; eljárással Button2Click (Sender: TObject);
# XA0; # XA0; eljárással Button1Click (Sender: TObject);
# XA0; # XA0; eljárással FormDeactivate (Sender: TObject);
# XA0; magán-
# XA0; eljárással CreateParams (var Params: TCreateParams); felülbírálhatja;
# XA0, köz-
# XA0; # XA0;
# XA0; end;

var
# XA0; form2: TForm2;

eljárás TForm2.CreateParams (var Params: TCreateParams);
kezdődik
# XA0; öröklött CreateParams (Params);
# XA0; Params.WndParent: = GetDesktopWindow;
végén;


eljárás TForm2.FormDeactivate (Sender: TObject);
kezdődik
SetWindowPos (Application.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE); // Ez a funkció nem kötelezettségek írjon ezt az eljárást, mert a funkció egyszer kell alkalmazni lefordítani formák legfelső állapotban van, és érvényes a záró formy.Na On létrehozni szintén fontos lesz. Ölj nem értem, miért kell egy időzítő?
végén;

A kód fogja a gyermek forma tetején.
Még a időzítés: Az időzítés létre a patak magas prioritást természetesen Levél formájában csapat „fel”, de a forma jön létre az áramlás kisebb hangsúlyt fektetnek rájuk, és ellenőrzés után (a valós idejű).
Bár az emberek helyesen mondta, hogy a folyam Realtime prioritás (bár egy ilyen prioritást kell használni az alkalmazás (bármilyen) nem ajánlott) Ne hagyja, hogy a prog Proca időt kap, ha (a prog) prioritás nem valós. Szeretne létrehozni egy valós idejű adatfolyam egy adott elsőbbséget, és dinamikus formák is. De hogyan zárja akkor? Még ha az egér nem kap ellenőrzést. Ezért jobb, hogy egy patak prioritás alacsonyabb.
Ne feledje, hogy annak érdekében, hogy sikeresen zár / nyit formában valósidejű prioritást kell, hogy legyen, és a szerver (elfogadja / végrehajtja ügyfél parancsainak) szintén prioritást realtime, egyébként nepoluchaetsya CPU időt.

Mintegy vkyl.vykl Claudia sugallják vannak jobb módszerek, hogy hozzon létre egy külön téma.

apihelp # XA0; (23.05.04 08:41) [19]
Pliz egy egyszerű szöveg:
Edit1: tSzerkesztés;
# XA0; Button1: TButton;
# XA0; Button2: TButton;
# XA0; Label1: TLabel;
# XA0; eljárással Button2Click (Sender: TObject);
# XA0; eljárással Button1Click (Sender: TObject);
hagyni. Kód venni a kanyarban.

Hogy apihelp Amikor elindítja a játékot formában nem látható% (

Kedves mester, mondd kérlek, és hogy lehetséges-e, hogy blokkolja a játék? Ahogy értem használja a teljes képernyős módban.

SetWindowPos (Application.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE); írj onCreate de még mindig ez lesz villogó.
Még próbálni egy időzítő:
InvalidateRect (Handle, nulla, true); \\ pereresuet forma
És összpontosítani, amikor az ablak lesz minimalizálni a játékot?

Tény, hogy a Delphi van egy kis hiba, ami megtöri a megbízhatóság

de ha a felvezető a massza formájában OnPaint

minden rendben lesz, és senki sem az alkalmazás nem fog fordulni, hacsak kifejezetten nem utalt a Application.Minimize. Nos, ez mindig lehet fogni.

Memória: 0.78 MB
Idő: 0.106 c

Kapcsolódó cikkek