ΠΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
Π ΡΠ°Π±Π».1 ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ Π΄Π°Π½Π½ΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ SetClipBoardData () Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ GMEM_DDESHARE. ΠΠ»Ρ Π½Π΅Π³ΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ HANDLE. ΠΠΎΡΡΠΎΡΠ½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ£Π€ΠΠ ΠΠΠΠΠΠ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ΄Π½Π° ΠΈΠ· Π·Π°Π΄Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ Windows, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΌΠΎΠΆΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ, Π½Π΅ ΠΎΡΡΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π² ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΌ Π²ΠΈΠ΄Π΅. Π ΠΈΠ΄Π΅Π°Π»Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΡΡ ΡΡΠ΅Π΄Ρ ΠΈ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠ°ΡΡ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ. Π ΡΠ°ΠΊΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°ΠΌΠ° ΡΠΎΠ±ΠΎΠΉ Π½Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° (clipboard) Windows ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ»Π° Π΄Π°Π½Π½ΡΠ΅ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°. Π€ΡΠ½ΠΊΡΠΈΠΈ API ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°, ΡΠΏΡΠ°Π²Π»ΡΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ. ΠΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ»ΡΠΆΠΈΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Ρ ΡΠ°Π½ΠΈΠΌΡΠΌ Π΄Π°Π½Π½ΡΠΌ.
1. Π€ΠΎΡΠΌΠ°ΡΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΌΡΠ»ΡΡΠΎΡΠΎΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, Π»ΠΈΠ±ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. ΠΠ°Π½Π½ΡΠ΅, ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΈΠ· Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π² Π½Π°ΠΈΠ»ΡΡΡΠ΅ΠΌ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ². Π‘ ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°, ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΡΡ ΠΈΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ².
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΈ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠΈ ΠΈΠ· Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡ ΠΎΠΏΡΠΈΠΉ. Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² Π±ΡΡΠ΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½Π° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°.
ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ SetClipboardData () Π΄Π»Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅, ΠΏΡΠΈΠ½ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ. ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ΅ΠΌ ΡΠΎΡΠ½Π΅Π΅ ΠΎΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠΈΡΠ°Π΅Ρ Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ΅ΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΡ EmptyClipboard (), Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π² Π½Π΅Π³ΠΎ Π΄Π°Π½Π½ΡΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ SetClipboardData (), Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° (clipboard owner). (Π’Π΅ΡΠΌΠΈΠ½ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΎΡΠ΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΎΠ½ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΡ. ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΡΡΠ΅Π΄Π΅ Windows.)
ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° (clipboard readers). ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΅Π³ΠΎ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Windows, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° (clipboard viewer).
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ SetClipboardData (). ΠΠ°Π½Π½ΡΠ΅, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠ΅ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ Π² Π±ΡΡΠ΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ EmptyClipboard (), ΡΡΠΎΠ±Ρ ΠΎΡΠΈΡΡΠΈΡΡ Π²ΡΠ΅ Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΎΡ Π½Π΅ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ . Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³Ρ Π±ΡΡΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ. ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ EmptyClipboard () ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠ°ΡΠΎΠΌΡ Π²Π»Π°Π΄Π΅Π»ΡΡΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΎΡΠΈΡΡΠΈΡΡ Π²ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌ, ΠΏΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM_DESTROYCLIPBOARD.
ΠΠ° ΡΠΈΡ. 1 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ Π²ΡΠ±ΡΠ°Π» ΠΏΡΠΎΡΠΌΠΎΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ CF_TEXT, Ρ ΠΎΡΡ Π²Π»Π°Π΄Π΅Π»Π΅Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ GF_TEXT, CF_OEMTEXT ΠΈ CF_UNICODETEXT.
ΠΠ»ΠΈΠ΅Π½Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΡ, Π½ΠΎ Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π΅ΠΌΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΡΠΎΡΠΌΠ°Ρ CF_TEXT.
Π ΡΠ°Π±Π».1 ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ Π΄Π°Π½Π½ΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ SetClipBoardData () Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ GMEM_DDESHARE. ΠΠ»Ρ Π½Π΅Π³ΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ HANDLE. ΠΠΎΡΡΠΎΡΠ½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² winuser. h Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ API, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°.
Π’Π°Π±Π»ΠΈΡΠ° 1
ΠΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°
Π€ΠΎΡΠΌΠ°Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° | Π’ΠΈΠΏ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ | |
CF_BITMAP | HBITMAP | ΠΠ°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ Π±ΠΈΡΠΎΠ². | |
CF_DSPENHMETAFILE | HENHMETAFILE | Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ», ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. | |
CF_DSPMETAFILEPICT | HANDLE | ΠΠ±ΡΠ΅ΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΡΡΡΠΊΡΡΡΡ METAFILEPICT, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. | |
CF_DSPTEXT | HANDLE | ΠΡΠΈΠ²Π°ΡΠ½ΡΠΉ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡ. | |
CF_DSPBITMAP | ΠΠIΠ’ΠΠΠ | Π Π°ΡΡΡΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΌ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ GetClipboardOwner (). | |
CF_ENHMETAFILE | HENHMETAFILE | Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ». | |
CF_GDIOBJFIRST | HGDIOBJ | ΠΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΡ ΡΠΊΠ²ΠΎΠ·Π½ΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° (throughclipboard), ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ GDI (Graphic Device Interface — ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²). ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ EmptyClipboard () Π΄Π»Ρ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ DeleteObject (). | |
CF_METFILEPICT | HANDLE | ΠΠ±ΡΠ΅ΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΡΡΡΠΊΡΡΡΡ METAFILEPICT. | |
CF_OEMTEXT | HANDLE | ΠΠ±ΡΠ΅ΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΠΌΡΡ Π½ΡΠ»Π΅ΠΌ ΡΡΡΠΎΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π°Π±ΠΎΡΠ° OEM. Π‘ΡΡΠΎΠΊΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ (CR/LF). | |
CF_OWNERDISPLAY | NULL | Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π²Π»Π°Π΄Π΅Π»Π΅Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠΊΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM_ASKCBFORMATNAME, WM_PAINTCLIPBOARD, WM_HSCROLLCLIPBOARD, WM_SIZECLIPBOARD ΠΈ WM_VSCROLLCLIPBOARD. | |
ΠΎΡ CF_PRIVATEFIRST Π΄ΠΎ CF_PRIVATELAST | ΠΡΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. Windows Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠΈΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ. ΠΠ»Π°Π΄Π΅Π»Π΅Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΡΡΡΠ°ΠΌ" ΡΠ΅ΡΠ΅Π· ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_DESTROYCLBOARD. | ||
CF_RBIFF | HANDLE | Π‘Π»ΠΎΠΆΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π²ΡΠΊΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ CF_WAVE. | |
CF_TEXT | HANDLE | ΠΠ±ΡΠ΅ΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΡΡΠΎΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π·Π°Π²Π΅ΡΡΠ°Π΅ΠΌΡΡ Π½ΡΠ»Π΅ΠΌ. Π‘ΡΡΠΎΠΊΠΈ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ (CR/LF). | |
CF_TIFF | HANDLE | Π€ΠΎΡΠΌΠ°Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. | |
CF_UNCODETEXT | HANDLE | ΠΠ±ΡΠ΅ΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π·Π°Π²Π΅ΡΡΠ°Π΅ΠΌΡΡ Π½ΡΠ»Π΅ΠΌ ΡΡΡΠΎΠΊΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠ½ΠΎΠ³ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Unicode. | |
CF_WAVE | HANDLE | Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Wave-ΡΠ°ΠΉΠ»ΠΎΠ². | |
2. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΠΌΠΈ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π² ΡΡΠ΅Π΄Π΅ Windows
Π‘ΠΈΡΡΠ΅ΠΌΠ° Windows ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΠΈ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. Windows ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΡΠΎΡΠΌΠ°Ρ Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ Windows ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠ°Π½Π½ΡΠ΅, Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ Π² Π±ΡΡΠ΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π°Π»ΡΡΡΡΡ ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π½ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ EmptyClipboard () Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°.
Windows ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ. ΠΡΠ±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² GDI Windows ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ DeleteObject (), Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ GlobalFree () ΠΈ Ρ. Π΄.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· ΡΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΡΠ»ΡΠΆΠ°Ρ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Windows Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, Ρ ΡΠ°Π½ΠΈΠΌΡΠΌΠΈ Π² ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠΏΡΠ°Π²Π»ΡΡΡ. Ρ ΡΠ°Π½ΠΈΠΌΡΠΌΠΈ Π² ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈ ΡΠΎΡΠΌΠ°ΡΡ ΡΠΎΠ·Π΄Π°ΡΡ.
3. ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΏΡΡΠΆΠ΅Π½Π° Ρ Π·Π°ΡΡΠ°ΡΠ°ΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ bitmap-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ»Ρ. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ GDI-ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΈΡ Π·Π°ΡΡΠ°Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΠ»ΠΈ Ρ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, Π΅ΡΠ»ΠΈ ΠΈΡ ΡΠΎΡΠΌΠ°Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
Π ΡΡΠ°ΡΡΡΡ, API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Win32 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ (delayed rendering). ΠΠ»Ρ Π΅Π³ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ΡΠΈΠΏΠ° HANDLE Π½Π° Π΄Π°Π½Π½ΡΠ΅ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ SetClipboardData (). ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠ°, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_RENDERFORMAT Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ wParam, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ.
ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΡΡΡΡΡ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° Π²ΡΡΠ°Π²ΠΊΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ .
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π½Π°ΠΈΠ»ΡΡΡΠΈΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΎΡΠΌΠ°ΡΠΎΠ², Π»ΠΈΠ±ΠΎ ΡΠ° ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Π²ΡΡΠ΅Π·Π°ΡΡΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ, Π½ΠΎ Π½Π΅ Π²ΡΡΠ°Π²Π»ΡΡΡΡΡ.
ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ»ΡΠΆΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ClipboardFormatAvailable () ΠΈ GetPriorityClipboardFormat ().
Π€ΠΎΡΠΌΠ°Ρ CF_OWNERDISPLAY
Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° CF_OWNERDISPLAY Π²ΠΎΠ·Π»Π°Π³Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π½Π° Π΅Π³ΠΎ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°. ΠΠ»Π°Π΄Π΅Π»Π΅Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π² ΠΎΠΊΠ½Π΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π».2.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°Π³Π»ΡΠ΄Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠ° CF_OWNERDISPLAY ΡΠ»ΡΠΆΠΈΡ ΡΡΠΈΠ»ΠΈΡΠ° Clipbook — ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Windows, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ, ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΠ². ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Clipbook ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²Π»Π°Π΄Π΅Π»ΡΡΡ Π΄Π°Π½Π½ΡΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΊΠΎΡΠΎΡΡΠΉ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ Π΄Π»Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠΊΠ½ΠΎ, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅ Π²Π½ΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π’Π°Π±Π»ΠΈΡΠ° 2
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΠ΅ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ | |
WM_ASKCBFORMATNAME | ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΠΌΡ ΡΠΎΡΠΌΠ°ΡΠ°. ΠΠ»Π°Π΄Π΅Π»Π΅Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π±Π°ΠΉΡΡ wParam Π² Π±ΡΡΠ΅Ρ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ lPrarm. | |
WM_PAINTCLIPBOARD | ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΎΠΊΠ½Π° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ wParam ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠΌ ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ lParam ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° PAINTSTRUCT. | |
WM_SIZECLIPBOARD | ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ wParam ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠΌ ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ lParam — ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ RECT. | |
WM_HSCROLLCLIPBOARD ΠΈ WM_VSCROLLCLIPBOARD | ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠΊΡΡΡΠΊΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ wParam ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠΌ ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠ»Π°Π΄ΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° lParam ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΈΠΏ Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠΎΠ»ΠΎΡΡ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ (ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ wParam Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ WM_HSCROLL ΠΈΠ»ΠΈ WM_VSCROLL). Π‘ΡΠ°ΡΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° lParam ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π±Π΅Π³ΡΠ½ΠΊΠ° ΡΠΎΠ³Π΄Π° ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΠΎΡΠ° ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ SB_THUMBPOSITION. | |
Π€ΠΎΡΠΌΠ°Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° CF_OWNERDISPLAY ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°ΠΈΠ²ΡΡΡΡΡ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ Π²ΡΠ΅Ρ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π° ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΠΈΠ»ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ), ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π²Π½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
— ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ;
— Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°.
4. ΠΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΠΊΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΠ², Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ. Π ΡΡΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π½Π΅ Π²Π»Π°Π΄Π΅Π΅Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ. Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΎΠΊΠ½Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°:
1. ΠΠΊΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°.
2. ΠΠΊΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ.
3. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΊΠΎΠ½ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΎΠΊΠΎΠ½ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡΠΌ:
— Π‘ΠΎΡ ΡΠ°Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ SetClipboardViewer (), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅. Windows ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ.
— ΠΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM_DRAWCLIPBOARD ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΊΠ½Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π½Π΅ Π±ΡΠ΄ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ.
— ΠΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM_CHANGECBCHAIN ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΊΠ½Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΏΠΎΡΠΊΠ° ΠΎΠΊΠΎΠ½ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π°Π½Π°.
— ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM_CHANGECBCHAIN Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠΊΠ½Π° ΡΠ΅ΠΏΠΎΡΠΊΠΈ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ IParam ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΠΎΠ²ΡΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠΊΠ½Π° Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ, ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ°.
— ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠ· ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ChangeClipboardChain () Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠΊΠ½Π°.