ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅
CWP _ ALL
ΠΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΎΠΊΠ½Π°.
CWP _ SKIPINVISIBLE
ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΎΠΊΠ½Π°.
CWP _ SKIPDISABLED
ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠ΅ ΡΠΎΠΊΡΡ Π²Π²ΠΎΠ΄Π° Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΎΠΊΠ½Π°.
CWP _ SKIPTRANSPARENT
ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΎΠΊΠ½Π°.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΎΠΊΠ½Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΡΠΊΡ ΠΈ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° uFlags . ΠΡΠ»ΠΈ ΡΠΎΡΠΊΠ° Π»Π΅ΠΆΠΈΡ Π²Π½Π΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π²Π΅ΡΡΠΈΠ»ΡΡ Π½Π΅ΡΠ΄Π°ΡΠ΅ΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ NULL . ΠΡΠ»ΠΈ ΡΠΎΡΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π½ΠΎ Π½Π΅ Π»Π΅ΠΆΠΈΡ Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΎΠΊΠΎΠ½, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° uFlags , Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
Windows Π²Π΅Π΄Π΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΎΠΊΠΎΠ½, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ. ΠΠΎΡΡΠ΄ΠΎΠΊ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Z -ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΎΠΊΠΎΠ½. ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ ΡΠΎΡΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΌ ΠΎΠΊΠ½Π΅, Windows Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π² ΡΠΏΠΈΡΠΊΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΡΠΎΡΠΊΡ ΠΈ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ΅Π³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° uFlags .
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
ChildWindowFromPoint, POINT, WindowFromPoint .
CloseWindow
Π€ΡΠ½ΠΊΡΠΈΡ CloseWindow ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅Ρ (Π½ΠΎ Π½Π΅ ΡΠ°Π·ΡΡΡΠ°Π΅Ρ) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.
BOOL CloseWindow (
HWND hWnd // Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
hWnd - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½ΡΠ»Ρ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ GetLastError .
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΠΊΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ Π΄ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ Π² ΠΎΠ±Π»Π°ΡΡΡ ΠΈΠΊΠΎΠ½ΠΎΠΊ Π½Π°Π΄ ΠΏΠ°Π½Π΅Π»ΡΡ Π·Π°Π΄Π°Ρ. Windows ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠΊΠΎΠ½ΠΊΡ ΠΎΠΊΠ½Π° ΠΈ Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠΠ»Ρ ΡΠ°Π·ΡΡΡΠ΅Π½ΠΈΡ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ DestroyWindow .
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
ArrangeIconicWindows, DestroyWindow, IsIconic, OpenIcon .
EndDeferWindowPos
Π€ΡΠ½ΠΊΡΠΈΡ EndDeferWindowPos ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΊΠΎΠ½ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π°.
BOOL EndDeferWindowPos (
HDWP hWinPosInfo // Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
hWinPosInfo - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΊΠΎΠ½. ΠΡΠ° Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ BeginDeferWindowPos ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ DeferWindowPos .
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½ΡΠ»Ρ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ GetLastError .
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
Π€ΡΠ½ΠΊΡΠΈΡ EndDeferWindowPos ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM _ WINDOWPOSCHANGING ΠΈ WM _ WINDOWPOSCHANGED ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΎΠΊΠ½Ρ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠΌΡ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΡΡΡΠΊΡΡΡΠ΅.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
BeginDeferWindowPos, DeferWindowPos , WM_WINDOWPOSCHANGED, WM_WINDOWPOSCHANGING.
FindWindow
Π€ΡΠ½ΠΊΡΠΈΡ FindWindow Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π° Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΡΡΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΈΠΌΡ ΠΎΠΊΠ½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΈΡΠ΅Ρ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΎΠΊΠ½Π°.
HWND FindWindow (
LPCTSTR lpClassName , // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°
LPCTSTR lpWindowName // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΈΠΌΡ ΠΎΠΊΠ½Π°
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
lpClassName - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡΡΡ Π½ΡΠ»Π΅ΠΌ ΡΡΡΠΎΠΊΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ Π°ΡΠΎΠΌ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠΈΠΉ ΡΡΡΠΎΠΊΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΠΎΠΌΠΎΠΌ, ΡΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ Π°ΡΠΎΠΌΠΎΠΌ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ GlobalAddAtom . 16-ΡΠΈ Π±ΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠΎΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΎ Π² ΠΌΠ»Π°Π΄ΡΠ΅ΠΌ ΡΠ»ΠΎΠ²Π΅ lpClassName , ΡΡΠ°ΡΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ.
lpWindowName - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡΡΡ Π½ΡΠ»Π΅ΠΌ ΡΡΡΠΎΠΊΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΈΠΌΡ ΠΎΠΊΠ½Π° (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π°). ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠ°Π²Π½ΠΎ NULL, ΡΠΎ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ lpWindowName ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ ΠΈΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ ΠΎΠΊΠΎΠ½.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΈΠΌΡ ΠΎΠΊΠ½Π°. Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ NULL. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ GetLastError .
Π‘ΠΌ . ΡΠ°ΠΊΠΆΠ΅
EnumWindows, FindWindowEx, GetClassName, GlobalAddAtom .
FindWindowEx
Π€ΡΠ½ΠΊΡΠΈΡ FindWindowEx ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π°, ΡΡΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΈΠΌΡ ΠΎΠΊΠ½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΎΠΊΠ½Π°, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠΎΠ³ΠΎ, Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° hwndChildAfter .
HWND FindWindowEx (
HWND hwndParent , // Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
HWND hwndChildAfter , // Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΎΠΊΠ½Π°
LPCTSTR lpszClass , // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°
LPCTSTR lpszWindow // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΈΠΌΡ ΠΎΠΊΠ½Π°
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
hwndParent - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΡΡΠ΅Π΄ΠΈ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΎΠΊΠΎΠ½ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΠΎΠΈΡΠΊ.
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° hwndParent ΡΠ°Π²Π½ΠΎ NULL, ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» Windows Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠΈΡΠΊ ΡΡΠ΅Π΄ΠΈ ΠΎΠΊΠΎΠ½, ΡΠ²Π»ΡΡΡΠΈΠΌΠΈΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°.
hwndChildAfter - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π΅ ΠΎΠΊΠ½ΠΎ. ΠΠΎΠΈΡΠΊ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠΊΠ½Π° Π² Z- ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΊΠ½ΠΎ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ hwndChildAfter , Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΡΠΌΡΠΌ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ hwndParent ΠΎΠΊΠ½Π°, Π° Π½Π΅ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ.
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° hwndChildAfter ΡΠ°Π²Π½ΠΎ NULL, ΠΏΠΎΠΈΡΠΊ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΎΠΊΠ½Π°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² hwndParent ΠΈ hwndChildAfter ΡΠ°Π²Π½Ρ NULL, ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠΈΡΠΊ ΡΡΠ΅Π΄ΠΈ Π²ΡΠ΅Ρ ΠΎΠΊΠΎΠ½ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ.
lpszClass - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡΡΡ Π½ΡΠ»Π΅ΠΌ ΡΡΡΠΎΠΊΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ Π°ΡΠΎΠΌ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠΈΠΉ ΡΡΡΠΎΠΊΡ - ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΠΎΠΌΠΎΠΌ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ Π°ΡΠΎΠΌΠΎΠΌ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ GlobalAddAtom . ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠΎΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΎ Π² ΠΌΠ»Π°Π΄ΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ lpszClass , ΡΡΠ°ΡΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ.
lpszWindow - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡΡΡ Π½ΡΠ»Π΅ΠΌ ΡΡΡΠΎΠΊΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΈΠΌΡ ΠΎΠΊΠ½Π° (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π°). ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠ°Π²Π½ΠΎ NULL, ΡΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΌΠΈ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ ΡΡΠΈΡΠ°ΡΡΡΡ Π²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΎΠΊΠΎΠ½.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΈΠΌΡ ΠΎΠΊΠ½Π°.
Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ NULL. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ GetLastError .
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
EnumWindows, FindWindow, GetClassName, GlobalAddAtom .
GetClientRect
Π€ΡΠ½ΠΊΡΠΈΡ GetClientRect Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠΊΠ½Π°. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π²Π΅ΡΡ Π½ΠΈΠΉ Π»Π΅Π²ΡΠΉ ΠΈ ΠΏΡΠ°Π²ΡΠΉ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ³Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Ρ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠΊΠ½Π°, ΡΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΠΉ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ (0, 0).
BOOL GetClientRect (
HWND hWnd // Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π°
LPRECT lpRect // Π°Π΄ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
hWnd - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΎΠΊΠ½ΠΎ, ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ.
lpRect - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ. Π§Π»Π΅Π½Ρ left ΠΈ top ΡΠ°Π²Π½Ρ Π½ΡΠ»Ρ. Π§Π»Π΅Π½Ρ right ΠΈ bottom ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ ΠΎΠΊΠ½Π°.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½ΡΠ»Ρ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ GetLastError .
Π‘ΠΌ . ΡΠ°ΠΊΠΆΠ΅
GetWindowRect, RECT.
SetWindowText
Π€ΡΠ½ΠΊΡΠΈΡ SetWindowText ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° (Π΅ΡΠ»ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ) ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
BOOL SetWindowText (
HWND hWnd , // Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ