ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅
GM _ COMPATIBLE
Π’Π΅ΠΊΡΡΠΈΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ Ρ Windows 3.1 ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ. Π ΡΡΠΎΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΌΠΈΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ( world transformation ) Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
GM_ADVANCED
Windows NT : Π’Π΅ΠΊΡΡΠΈΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ, ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΠΈΠΌ ΠΌΠΈΡΠΎΠ²ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. Π ΡΡΠΎΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΌΠΈΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Windows 95: ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ GM _ ADVANCED Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ.
Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½ΡΠ»Ρ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π²ΡΠ·Π²Π°Π² ΡΡΠ½ΠΊΡΠΈΡ SetGraphicsMode .
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
SetGraphicsMode .
ΠΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
ChangeClipboardChain
Π€ΡΠ½ΠΊΡΠΈΡ ChangeClipboardChain ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈΠ· ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°.
BOOL ChangeClipboardChain (
HWND hWndRemove ,
HWND hWndNewNext
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
hWndRemove - Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΎ ΠΈΠ· ΡΠ΅ΠΏΠΎΡΠΊΠΈ. ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π² ΡΡΠ½ΠΊΡΠΈΡ SetClipboardViewer.
hWndNewNext - Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π° ΠΎΠΊΠ½ΠΎΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° hWndRemove, Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. (ΠΡΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ SetClipboardViewer , Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π΅ Π±ΡΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π² ΠΎΡΠ²Π΅Ρ Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_CHANGECBCHAIN .)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM_CHANGECBCHAIN ΠΎΠΊΠ½Ρ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΊΠ½ΠΎ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΡΠΈΠΏΠΈΡΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ FALSE, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_CHANGECBCHAIN, ΡΠΈΠΏΠΈΡΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ChangeClipboardChain Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ - ΡΠΎΠΆΠ΅ FALSE. ΠΡΠ»ΠΈ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΎΠ΄Π½ΠΎ ΠΎΠΊΠ½ΠΎ - ΡΠΈΠΏΠΈΡΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ TRUE.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΠΊΠ½ΠΎ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° hWndNewNext, Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΠΎΠΊΠ½ΠΎ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° hWndRemove , Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°. Π€ΡΠ½ΠΊΡΠΈΡ SetClipboardViewer ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_CHANGECBCHAIN ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΎΠΊΠ½Ρ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
Windows NT/2000/XP: ΠΠΊΠ»ΡΡΠ΅Π½Π° Π² Windows NT 3.1 ΠΈ Π²ΡΡΠ΅.
Windows 95/98/Me: ΠΠΊΠ»ΡΡΠ΅Π½Π° Π² Windows 95 ΠΈ Π²ΡΡΠ΅.
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ: ΠΠ±ΡΡΠ²Π»Π΅Π½Π° Π² Winuser.h ; ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡWindows.h.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ User32.lib .
Π‘ΠΌ . ΡΠ°ΠΊΠΆΠ΅
SetClipboardViewer, WM_CHANGECBCHAIN.
CloseClipboard
Π€ΡΠ½ΠΊΡΠΈΡ CloseClipboard Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°.
BOOL CloseClipboard (VOID)
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
Π€ΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½ΡΠ»Ρ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ GetLastError .
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΠΎΠ³Π΄Π° ΠΎΠΊΠ½ΠΎ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°, Π·Π°ΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ, Π²ΡΠ·Π²Π°Π² CloseClipboard . ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠΊΠ½Π°ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π±ΡΡΠ΅ΡΡ ΠΎΠ±ΠΌΠ΅Π½Π°.
ΠΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΠΉΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° CloseClipboard .
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
GetOpenClipboardWindow, OpenClipboard .
CountClipboardFormats
Π€ΡΠ½ΠΊΡΠΈΡ CountClipboardFormats ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ Π² Π±ΡΡΠ΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½Π° Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ
int CountClipboardFormats ( VOID )
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
Π€ΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ Π² Π±ΡΡΠ΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½Π° Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½ΡΠ»Ρ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ GetLastError .
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
EnumClipboardFormats, RegisterClipboardFormat .
GetClipboardFormatName
Π€ΡΠ½ΠΊΡΠΈΡ GetClipboardFormatName ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΈΠ· Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠΌΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°. Π€ΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΈΠΌΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π±ΡΡΠ΅Ρ.
int GetClipboardFormatName (
UINT format , // ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°
LPTSTR lpszFormatName , // Π°Π΄ΡΠ΅Ρ Π±ΡΡΠ΅ΡΠ° Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ
int cchMaxCount // Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ ΠΈΠΌΠ΅Π½ΠΈ Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
format - ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°Π½Π΅Π΅ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ².
lpszFormatName - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π±ΡΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠΌΡ ΡΠΎΡΠΌΠ°ΡΠ°.
cchMaxCount - ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ, ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π² Π±ΡΡΠ΅Ρ, Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ . ΠΡΠ»ΠΈ ΠΈΠΌΡ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΡΡΠΎΡ ΠΏΡΠ΅Π΄Π΅Π», Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΡΠΎΠΊΠΈ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π΄Π»ΠΈΠ½Π° ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π² Π±ΡΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ .
Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½ΡΠ»Ρ, ΡΠΊΠ°Π·ΡΠ²Π°Ρ, ΡΡΠΎ Π·Π°ΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈΠ»ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π½Π΅Π΅ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ GetLastError .
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
EnumClipboardFormats, RegisterClipboardFormat .
GetClipboardOwner
Π€ΡΠ½ΠΊΡΠΈΡ GetClipboardOwner ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π°, ΡΠ²Π»ΡΡΡΠ΅Π³ΠΎΡΡ ΡΠ΅ΠΊΡΡΠΈΠΌ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°.
HWND GetClipboardOwner ( VOID )
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
Π€ΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π»Π°Π΄Π΅Π΅Ρ Π±ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π°.
Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ NULL . ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ GetLastError .
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΈΠΌ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π²Π»Π°Π΄Π΅Π΅Ρ.
Π ΠΎΠ±ΡΠ΅ΠΌ, Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ»ΠΎ Π΄Π°Π½Π½ΡΠ΅ Π² Π½Π΅Π³ΠΎ. Π€ΡΠ½ΠΊΡΠΈΡ EmptyClipboard Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π°.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
EmptyClipboard, GetClipboardViewer .
ΠΡΠ΅ΠΌΡ
CompareFileTime
Π€ΡΠ½ΠΊΡΠΈΡ CompareFileTime ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Π΄Π²Π° 64-Π±ΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
LONG CompareFileTime (
CONST FILETIME * lpFileTime1 , // pointer to first file time
CONST FILETIME * lpFileTime2 // pointer to second file time
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
lpFileTime 1 - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΡΠΈΠΏΠ° FILETIME , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅ 64-Π±ΠΈΡΠ½ΠΎΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
lpFileTime 2 - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΡΠΈΠΏΠ° FILETIME , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΡΠΎΡΠΎΠ΅ 64-Π±ΠΈΡΠ½ΠΎΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅
-1
ΠΠ΅ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ.
0
ΠΡΠ΅ΠΌΠ΅Π½Π° ΡΠ°Π²Π½Ρ.
+1
ΠΠ΅ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
GetFileTime, FILETIME .
GetFileTime
Π€ΡΠ½ΠΊΡΠΈΡ GetFileTime ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½, ΠΊΠΎΠ³Π΄Π° ΠΊ Π½Π΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π· ΠΎΠ±ΡΠ°ΡΠ°Π»ΠΈΡΡ, ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π· Π±ΡΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½.
BOOL GetFileTime (
HANDLE hFile , // ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ»
LPFILETIME lpCreationTime , // Π°Π΄ΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°
LPFILETIME lpLastAccessTime , // Π°Π΄ΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°
// ΠΊ ΡΠ°ΠΉΠ»Ρ
LPFILETIME lpLastWriteTime // Π°Π΄ΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°ΠΉΠ»
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
hFile - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ», Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡΡΡ Π΄Π°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ. Π€Π°ΠΉΠ»ΠΎΠ²ΡΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ Ρ Π΄ΠΎΡΡΡΠΏΠΎΠΌ GENERIC_READ ΠΊ ΡΠ°ΠΉΠ»Ρ.
lpCreationTime - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΡΠΈΠΏΠ° FILETIME , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π²Π½ΠΎ NULL, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
lpLastAccessTime - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΡΠΈΠΏΠ° FILETIME , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Ρ. ΠΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π·: Π² ΡΠ°ΠΉΠ» Π·Π°ΠΏΠΈΡΡΠ²Π°Π»Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠΈΡΠ°Π»Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°, ΠΈΠ»ΠΈ, Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ°ΠΉΠ» Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π²Π½ΠΎ NULL, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.