Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄ΡΡΠ³ΠΎΠΉ, Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΠΊ ΠΎΠΊΠ½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ½ Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ API-ΡΡΠ½ΠΊΡΠΈΠΈ SetForegroundWindow. Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ β Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π°. ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ΄ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, ΡΠΎ ΠΎΠΊΠ½ΠΎ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π² ΡΡΠΎ ΠΎΠΊΠ½ΠΎ. Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ° (Π»ΠΈΡΡΠΈΠ½Π³ 1.4).
...ΠΠΈΡΡΠΈΠ½Π³ 1.4.
ΠΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΡ ΠΎΠΊΠ½Π°
procedure TForm1.Timer1Timer(Sender: TObject);
begin
SetForegroundWindow(Handle);
end;
Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΡΠ°ΡΡΠ΅ Windows 95 ΠΈ Windows NT 4.0 Π²Π²Π΅Π΄Π΅Π½ ΡΡΠ΄ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ SetForegroundWindow. Π’Π°ΠΊ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»ΡΡΠ°Π΅Π² Π½Π΅Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΊΠ½Π°, Π½ΠΎ ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ.
Π§ΡΠΎΠ±Ρ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΊΠ½ΠΎ, ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π½Π΅ ΡΠΎΠ½ΠΎΠ²ΡΠΌ Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ°Π²ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΅ΠΌΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΏΡΠ°Π²ΠΎΠΌ, ΠΈ Ρ. ΠΏ. ΠΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π½ΡΠ°Π½ΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΡΠΊΠ° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π°. Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠΊΠ½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΎ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ FlashWindow Π΄Π»Ρ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΈΠ³Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ). ΠΠΎΡΡΠΎΠΌΡ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ SetForegroundWindow ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΡΠΆΠ΄Π°ΡΡΠ΅Π΅ΡΡ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠΈ, Π½Π΅ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΌ.
1.2. ΠΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π½Π° ΠΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ, ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Π² Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Application Π΄ΠΈΠ°Π»ΠΎΠ³Π° Project options, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΌΠ΅Π½Ρ Project β Options), Π½ΠΎ Π½Π΅ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² DPR-ΡΠ°ΠΉΠ»Π΅ (Π½Π΅ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ°ΡΡΡ ΠΎΠΏΡΡΠ΅Π½Π°).
...programβ¦
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Π ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΊΠ»Π°ΡΡΠ° TApplication, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Application (Π΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Forms), ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΡΠ²Π½ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΠΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ (ΠΊΡΡΠ°ΡΠΈ, ΡΡΠΎΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Title ΠΎΠ±ΡΠ΅ΠΊΡΠ° Application). ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Handle ΠΎΠ±ΡΠ΅ΠΊΡΠ° Application.
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π΅Π»Π°Π΅ΡΡΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΌ (Π΅ΠΌΡ Π·Π°Π΄Π°Π΅ΡΡΡ Π½ΡΠ»Π΅Π²Π°Ρ Π²ΡΡΠΎΡΠ° ΠΈ ΡΠΈΡΠΈΠ½Π°), ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π»Π°ΡΡ ΠΈΠ»Π»ΡΠ·ΠΈΡ Π΅Π³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠ°Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ°.
ΠΠ»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ (Π»ΠΈΡΡΠΈΠ½Π³ 1.5).
...ΠΠΈΡΡΠΈΠ½Π³ 1.5. ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
procedure TForm1.Button1Click(Sender: TObject);
begin
SetWindowPos(Application.Handle, 0, 0, 0, 200, 100,
SWP_NOZORDER or SWP_NOMOVE);
end;
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΈΡΠΈΠ½Π° ΠΎΠΊΠ½Π° ΡΡΠ°Π½Π΅Ρ ΡΠ°Π²Π½ΠΎΠΉ 200, Π° Π²ΡΡΠΎΡΠ° β 100, ΠΈ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΡΡΠ°ΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π»ΡΠΊΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅) ΡΠΎΠΊΡΡ Π²Π²ΠΎΠ΄Π° Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ, ΡΠΎ Π΅ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ, ΡΠΎΡΠΌΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡΠ°ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ Π½Π΅ ΠΌΠΈΠ³Π°Π»Π° ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ FlashWindow ΠΈΠ»ΠΈ FlashWindowEx. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ ΡΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΡΡΡΠ°Π½ΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (Π»ΠΈΡΡΠΈΠ½Π³ 1.6).
...ΠΠΈΡΡΠΈΠ½Π³ 1.6.
ΠΠΈΠ³Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ
procedure TForm1.Button2Click(Sender: TObject);
var
fl: FLASHWINFO;
begin
fl.cbSize:= SizeOf(fl);
fl.hwnd:= Application.Handle;
fl.dwFlags:= FLASHW_ALL;
fl.uCount:= 10;
fl.dwTimeout:= 200;
FlashWindowEx(fl);
end;
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π£Π±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² Π»ΠΈΡΡΠΈΠ½Π³ 1.5. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΈΠ³Π°Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΠΎΡΠΌΡ (ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ), ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π»ΠΈΡΡΠΈΠ½Π³ 1.7.
...ΠΠΈΡΡΠΈΠ½Π³ 1.7.
ΠΠΈΠ³Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ½Π²Π΅ΡΡΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΠΎΡΠΌΡ
procedure TForm1.Button3Click(Sender: TObject);
var
fl: FLASHWINFO;
begin
//ΠΠΈΠ³Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ
fl.cbSize:= SizeOf(fl);
fl.hwnd:= Application.Handle;
fl.dwFlags:= FLASHW_TRAY;
fl.uCount:= 10;
fl.dwTimeout:= 200;
FlashWindowEx(fl);
//ΠΠ½Π²Π΅ΡΡΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°
fl.cbSize:= SizeOf(fl);
fl.hwnd:= Handle;
fl.dwFlags:= FLASHW_CAPTION;
fl.uCount:= 10;
fl.dwTimeout:= 200;
FlashWindowEx(fl);
end;
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΎΡΠΌΡ Forml. ΠΠ½ΠΎΠΏΠΊΠ° Π½Π° ΠΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ³Π°ΡΡ, Π½ΠΎ ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΡΡ ΡΠΊΡΡΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Π°, ΠΊΠΎΠ³Π΄Π° Π² ΡΡΠΎΠΌ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ. Π’Π°ΠΊ, Π΄Π»Ρ ΡΠΊΡΡΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ API-ΡΡΠ½ΠΊΡΠΈΡ ShowWindow ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
...ShowWindow(Application.Handle, SW_HIDE);
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ShowWindow Π²ΡΠ·Π²Π°ΡΡ ΡΠΎ Π²ΡΠΎΡΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ, ΡΠ°Π²Π½ΡΠΌ SW_NORMAL.
1.3. ΠΠΎΠ»ΡΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠ΅ ΠΎΠΊΠ½Π°
Π Windows 2000 Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΠΊΠΎΠ½ (Π² Π°Π½Π³Π»ΠΎΡΠ·ΡΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»ΡΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠ΅ ΠΎΠΊΠ½Π° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Layered windows). ΠΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΡΡΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ ΠΎΠΊΠ½Π° (ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΊΠΎΠ½Π½ΡΡ ΡΡΠΈΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ Π² Π³Π». 2). ΠΠ΄Π΅ΡΡ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ API-ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ»ΡΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΡΠΎΡΠΌ Delphi. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠΎΡΡΠ°Π² ΠΊΠ»Π°ΡΡΠ° TForm.
β’ AlphaBlend β Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅/Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΡΠ»ΠΈ True, ΡΠΎ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π°, Π΅ΡΠ»ΠΈ False, ΡΠΎ Π²ΡΠΊΠ»ΡΡΠ΅Π½Π°.
β’ AlphaBlendValue β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΠΊΠ½Π° (ΠΎΡ 0 Π΄ΠΎ 255). ΠΡΠ»ΠΈ 0, ΡΠΎ ΠΎΠΊΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ 255, ΡΠΎ ΠΎΠΊΠ½ΠΎ Π½Π΅ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΊΠ°ΠΊ ΠΈΠ· ΠΎΠΊΠ½Π° Object Inspector, ΡΠ°ΠΊ ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΡΠΈΡ. 1.1).
Π ΠΈΡ. 1.1. Π‘Π²ΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ Π² ΠΎΠΊΠ½Π΅ Object Inspector
ΠΠ° ΡΠΈΡ. 1.2 Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΠΎΠ»ΡΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ (ΡΠΎΡΠΌΠ° Delphi).
Π ΠΈΡ. 1.2. Π€ΠΎΡΠΌΠ°, ΠΏΡΠΎΠ·ΡΠ°ΡΠ½Π°Ρ Π½Π° 14 %ΠΠΈΠΆΠ΅ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° AlphaBl end, Π° ΡΠ°ΠΊΠΆΠ΅ AlphaBlendValue Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΠΊΠ½Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠ° tbAlpha, ΡΠ»Π°ΠΆΠΊΠ° chkEnableAlpha ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ lblCurAlpha Π½Π° ΡΠΎΡΠΌΠ΅ ΡΠΈΡ. 1.2) (Π»ΠΈΡΡΠΈΠ½Π³ 1.8).
...ΠΠΈΡΡΠΈΠ½Π³ 1.8.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΠΊΠ½Π°
procedure TForm1.chkEnableAlphaClick(Sender: TObject);
begin
AlphaBlendValue:= tbAlpha.Position;
AlphaBlend:= chkEnableAlpha.Checked;
end;
procedure TForm1.tbAlphaChange(Sender: TObject);
var
pos, perc: Integer;
begin
pos:= tbAlpha.Position;
//ΠΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ
AlphaBlendValue:= pos;
//ΠΠ±Π½ΠΎΠ²ΠΈΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΏΠΎΠ΄ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠΎΠΌ
perc:= pos * 100 div 255;
lblCurAlpha.Caption:= IntToStr(pos) + ΠΈΠ· 255 ( +
IntToStr(perc) + %) ;
end;
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΡΠ΅Π·Π½ΠΎΠ²Π΅Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ (Π»ΠΈΡΡΠΈΠ½Π³ 1.9).
...ΠΠΈΡΡΠΈΠ½Π³ 1.9.
ΠΡΡΠ΅Π·Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ
implementation
var
isInc: Boolean; // ΠΡΠ»ΠΈ True, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ AlphaBlend ΡΠΎΡΠΌΡ
// ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ False, ΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ
//(ΡΠΎΡΠΌΠ° ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ)
procedure TForm1.cmbHideAndShowClick(Sender: TObject);
begin
if AlphaBlend then chkEnableAlpha.Checked:= False;
//ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ (ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΠΏΠ»Π°Π²Π½ΠΎΠΌΡ ΡΠΊΡΡΡΠΈΡ)
AlphaBlendValue:= 255;
AlphaBlend:= True;
Refresh;
//ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΊΡΡΡΠΈΡ ΡΠΎΡΠΌΡ
isInc:= False;
Timer1.Enabled:= True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var val: Integer;
begin
if not isInc then
begin
//"Π Π°ΡΡΠ²ΠΎΡΠ΅Π½ΠΈΠ΅" ΠΎΠΊΠ½Π°
val:= AlphaBlendValue;
Dec(val, 10);
if val <= 0 then
begin
//ΠΠΊΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ
val:= 0;
isInc:= True;
end
end
else begin
//ΠΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°
val:= AlphaBlendValue;
Inc(val, 10);
if val >= 255 then
begin
//ΠΠΊΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π΅ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ
val:= 255;
Timer1.Enabled:= False; //ΠΡΠΎΡΠ΅ΡΡ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½
AlphaBlend:= False;
end
end;
AlphaBlendValue:= val;
end;
ΠΠ»Π°Π²Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 1.9 Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΊΡΠΎΠ΅ΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ° (Timerl) Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΠΊΠ½Π°. Π’Π°ΠΊ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠ³Π»ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΈ ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Β«ΡΡΠ΅Π΄Π°Π»ΠΎΒ» Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π°Π±ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ»Π°Π²Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ Π² ΠΏΡΠΎΡΡΠΎΠΌ ΡΠΈΠΊΠ»Π΅, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ Pentium III 600 ΠΠΡ Π±Π΅Π· Π½Π°Π²ΠΎΡΠΎΡΠ΅Π½Π½ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ ΠΈ ΡΠ°ΠΌΠΈ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΡΡΠ°Π½Π΅Ρ Ρ Π±Π΅Π΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ.
ΠΡΠ°ΠΌΠΎΡΠ½ΠΎΠ΅, Π° Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΠΌΠ΅ΡΡΠ½ΠΎΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΠΊΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Ρ ΠΎΡΡ Π±Ρ Π½Π° Winamp 5 ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΠΊΠΎΠ½).
1.4. ΠΠΊΠ½Π° ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Windows, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΈ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π·Π° ΡΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°ΠΌΠΈΡ ΠΎΠΊΠΎΠ½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π Π΅Π³ΠΈΠΎΠ½Ρ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π΄Π°Π»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΡ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ ΠΎΠΊΠΎΠ½ Π±Π°Π·ΠΈΡΡΡΡΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ² (ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ) ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΡ β Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³ΡΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΡ ΠΎΠ±Π»Π°ΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΊΠ½Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠΊΠ½Π° (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΎΠΊΠ½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ) ΠΈΠΌΠ΅ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΡ, Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΌ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠΌ Ρ Π²ΡΡΠΎΡΠΎΠΉ ΠΈ ΡΠΈΡΠΈΠ½ΠΎΠΉ, ΡΠ°Π²Π½ ΡΠΌΠΈ Π²ΡΡΠΎΡΠ΅ ΠΈ ΡΠΈΡΠΈΠ½Π΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.