ΠΡΠΈΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΎΠΊΠ½Π° ΠΈ Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ. ΠΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Ρ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ EnumWindows, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΏΠΎΠ·ΠΆΠ΅. ΠΠ°ΡΡΠΈΠΌΡΡ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ. ΠΠ°ΠΆΠΌΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ Π²ΡΡ ΠΎΠ΄. ΠΡΠΎ ΡΡΠ΅ΡΠΈΠΉ ΠΏΠΎΠ΄ ΠΏΡΠ½ΠΊΡ (ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΠΈ ΡΠΎΠΆΠ΅ ΡΡΠΈΡΠ°ΡΡΡΡ!) ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ, ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΈΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈ Π½Π΅ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ API, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ 500 ΡΠ°Π· Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΡΠΌΠ΅Π½Π°» ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΠ Ρ Π½Π΅ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°. Π Π΄ΡΡΠ³ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΡΡΠΈΠ½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΊΡΠΈΠ²ΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΊΠΎΠΌΠ°Π½Π΄ — Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ», ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π³ΡΠ°ΡΠΈΠΊ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠ΅, ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ… ΠΠΎΡΠ°Π·Π΄ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°Π²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π½Π° ΡΠΈΡΡΠΎΠΌ API Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ «Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ …».
ΠΠ°ΡΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅Π³ΠΎ ΠΎΠΊΠ½Π°, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ FindWindow, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΠΎΠΏΠ°Π²ΡΠ΅Π΅ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΌΠΈ ClassName ΠΈ WindowName. ΠΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΎΠΊΠΎΠ½. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΠ΅Π»ΡΠΈ:
function FindWindow (ClassName, WindowName: PChar): HWnd;
Π³Π΄Π΅ ClassName — ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΎΠΊΠ½Π° (Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠ΅Π΅ΡΡ ΠΏΡΡΡΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ, nil — Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ), WindowName — ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ nil, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΠΎΠΊΠ½Π°.
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 0, Π΅ΡΠ»ΠΈ ΠΎΠΊΠ½ΠΎ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, Π»ΠΈΠ±ΠΎ, Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π°, Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π°.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΎΠΊΠ½Π° ΠΈ Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ. ΠΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Ρ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ EnumWindows, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΏΠΎΠ·ΠΆΠ΅.
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, Π·Π½Π°Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ ΠΊΠ»Π°ΡΡ ΠΎΠΊΠ½Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:
program program1;
{$APPTYPE CONSOLE}.
uses Windows, SysUtils;
const.
sClassName = 'myWindow';
var.
handle: HWND;
begin.
handle := FindWindow (sClassName, nil);
if handle = 0 then.
Writeln ('The window not found!').
else.
Writeln ('*> handle = ', handle);
writeln ('press enter');
readln;
end.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° — ΠΎΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΠΊΠ½Π°ΠΌΠΈ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ:
Π€ΡΠ½ΠΊΡΠΈΡ. | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅. | ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetClassName. | Π‘ΡΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΎΠΊΠ½Π°. | Wnd: ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΠΊΠ½Π°. ClassName: ΠΡΡΠ΅p Π΄Π»Ρ ΠΏΡΠΈΠ΅ΠΌΠ° ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ°. MaxCount: Π Π°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ°. | Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²; 0 — Π΅ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetWindowText. | ΠΠΎΠΏΠΈpΡΠ΅Ρ Π² Str Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡ ΠΎΡΠ³Π°Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. | Wnd: ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ ΠΎΡΠ³Π°Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Str: ΠΡΡΠ΅Ρ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ ΡΡΡΠΎΠΊΡ. MaxCount: Π Π°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° Str. | Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π±Π°ΠΉΡ ΠΈΠ»ΠΈ 0, Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetWindowTextLength. | Π‘ΡΠΈΡΡΠ²Π°Π΅Ρ Π΄Π»ΠΈΠ½Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΎΡΠ³Π°Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. | Wnd: ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΠΊΠ½Π°. | ΠΠ»ΠΈΠ½Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π° Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ . | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IsIconic. | ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠΊΠ½ΠΎ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ (ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ). | Wnd: ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΠΊΠ½Π°. | ΠΠ΅ Π½ΡΠ»Ρ, Π΅ΡΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΎ; 0 — Π΅ΡΠ»ΠΈ Π½Π΅Ρ. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IsWindow. | ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠΊΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ. | Wnd: ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΠΊΠ½Π°. | ΠΠ΅ Π½ΡΠ»Ρ, Π΅ΡΠ»ΠΈ ΠΎΠΊΠ½ΠΎ Π΄ΠΎΡΡΠΎΠ²Π΅ΡΠ½ΠΎ; 0 — Π΅ΡΠ»ΠΈ Π½Π΅Ρ. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IsWindowEnabled. | ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠΊΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠΌ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Ρ ΠΌΡΡΠΈ ΠΈ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. | Wnd: ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΠΊΠ½Π°. | Π… Π³Π΄Π΅ ΡΡΠ½ΠΊΡΠΈΡ MakeWParam ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΈΠ· Π΄Π²ΡΡ ΡΠ»ΠΎΠ². ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΠΊΡΡ Π² ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_SETTEXT. Π£ΡΠ°ΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΠΏΠΎΠΈΡΠΊ edit’Π° ΠΈ ΠΌΠ΅Π½ΡΡΡΠΈΠΉ Π΅Π³ΠΎ ΡΠ΅ΠΊΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: var pCh: pChar; h_edit := FindWindowEx (handle, 0, 'EDIT', 'Hello'); if h_edit = 0 then. Writeln ('The edit not found!'). else begin. Writeln (' handle of the edit is ', h_edit); pCh := 'ΡΠ΅ΠΊΡΡ, Π²ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ'; SendMessage (h_edit, WM_SETTEXT, 0, integer (pCh)); end; ΠΠ°ΡΡΠΈΠΌΡΡ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ. ΠΠ°ΠΆΠΌΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ Π²ΡΡ ΠΎΠ΄. ΠΡΠΎ ΡΡΠ΅ΡΠΈΠΉ ΠΏΠΎΠ΄ ΠΏΡΠ½ΠΊΡ (ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΠΈ ΡΠΎΠΆΠ΅ ΡΡΠΈΡΠ°ΡΡΡΡ!) ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ, ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄: h_menu := GetMenu (Handle); //ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΠΎΠΊΠ½Π°. if h_menu 0 then begin. h_menu := GetSubMenu (h_menu, 0);//ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ (0 -ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠ½ΠΊΡ). //ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ 3 ΠΏΡΠ½ΠΊΡΠ° ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ ΠΌΠ΅Π½Ρ (ΡΠ΅ΡΡΡ Π² ΠΌΠ΅Π½Ρ — ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ½ΠΊΡΡ). id_menu := GetMenuItemID (h_menu, 2); if id_menu 0 then. //Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ. ΠΠΌΠ΅Π½Π½ΠΎ PostMessage, SendMessage — Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. PostMessage (handle, WM_COMMAND, id_menu, 0); end; Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΊΡΡΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ — Π²ΡΡ ΠΎΠ΄. Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ Π½Π΅ ΡΡΠ½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ GetLastError. ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄, Π²ΡΠ΄Π°ΡΡΠΈΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅: // ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠΌ, Π½Π΅ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π½ΡΠΌ Ρ Π‘++ Π² ΠΏΠΎΡΡΠ°Π²ΠΊΠ΅ Delphi. function MAKELANGID (sPrimaryLanguage: Word; sSubLanguage: Word): Word; begin. result := (sSubLanguage shl 10) or. sPrimaryLanguage; end; var pCh: pChar; // Π±ΡΡΠ΅Ρ Π΄Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅. … // ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π΅Π΅ ΠΊΠΎΠ΄ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΠΊΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ FormatMessage. FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER OR FORMAT_MESSAGE_FROM_SYSTEM,. nil, GetLastError (), MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT) {Default language}, pCh, 0, nil); // ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: MessageBox (0, pCh, 'Last error', MB_OK or MB_ICONINFORMATION); ΠΡΠΎΠ΅ΠΊΡΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΠ°ΡΡΡΡ Π΄Π²ΠΈΠ³Π°ΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Delphi, Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ (Save all) ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ (Run). ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ Save as… ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΡΡΠΈ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² ΡΡΠΆΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π’Π΅ΡΡ ΡΡΠ±Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ № 3. Π’Π΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 5 Π·Π°Π΄Π°Π½ΠΈΠΉ, Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ²ΠΎΠ΄ΠΈΡΡΡ 3 ΠΌΠΈΠ½ΡΡΡ. ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ, ΠΏΠΎ ΠΠ°ΡΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ, Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΡΠ²Π΅ΡΠ° ΠΈ ΠΎΡΠΌΠ΅ΡΡΡΠ΅ Π΅Π³ΠΎ Π»ΡΠ±ΡΠΌ Π·Π½Π°ΡΠΊΠΎΠΌ Π² Π±Π»Π°Π½ΠΊΠ΅ ΠΎΡΠ²Π΅ΡΠΎΠ².
ΠΠ»Π°Π½ΠΊ ΠΎΡΠ²Π΅ΡΠΎΠ²
ΠΡΠΈΡΠ΅ΡΠΈΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ.
|