置百丈玄冰而崩裂,掷须臾池水而漂摇。

windows剪切板常见API函数

日常 强强

windows剪切板常见API函数


(一) ChangeClipboardChain  
将剪贴的连接从一个句柄转到下一个句柄。

BOOL ChangeClipboardChain( 
 HWND hWndRemove, // handle to window to remove 
 HWND hWndNewNext // handle to next window 
 );

(1)hWndRemove表 示第一个窗口的句柄(断开)。
(2)hWndNewNext表示第二个窗口的句柄(连接)。
注意,在使用之前应该使用 SetClipboardViewer事先进行窗口句柄的连接。

 
(二)CloseClipboard  
关闭剪贴板。

BOOL CloseClipboard(VOID)//VOID意思是空白。


本函数没有参数,事先应该用OpenClipboard函数打开过剪贴 板。

 
(三)CountClipboardFormats  
不管剪贴板是什么格式,全部转化为数据格式。

int CountClipboardFormats(VOID)


本函数没有参数。

 
(四)EmptyClipboard  
清空剪贴 板。

BOOL EmptyClipboard(VOID)


本函数没有参数。

 
(五)EnumClipboardFormats  
使剪贴板内的格式转变成指定格式。

UINT EnumClipboardFormats( 
 UINT format // specifies a known available clipboard format 
 );


其中format表示的是将要转化 成的格式。该参数的意义可参照后面。

 
(六)GetClipboardData  
获取剪贴板内的数据。

HANDLE GetClipboardData( 
 UINT uFormat // clipboard format 
 );


其中 format表示的是剪贴板内数据的格式。该参数的意义可参照后面。

 
(七)GetClipboardFormatName  
获取剪贴板 内数据格式的名称。

int GetClipboardFormatName( 
 UINT format, // clipboard format to retrieve 
 LPTSTR lpszFormatName, // address of buffer for name 
 int cchMaxCount // length of name string in characters 
 );


(1)format 表示的意义同前,应该是不事先规定格式;
(2)lpszFormatName表示的是格式名称地址;
(3)cchMaxCount剪 贴板内数据的长度。

 
(八)GetClipboardOwner  
获取当前剪贴板是属于哪一个窗口的句柄。

HWND GetClipboardOwner(VOID)


返回那个窗口的句柄。

 
(九)GetClipboardSequenceNumber  
返回剪贴板序号。

DWORD GetClipboardSequenceNumber(VOID)

 
(十)GetClipboardViewer  
返回剪贴板属于窗口的句柄。

HWND GetClipboardViewer(VOID)

 
(十 一)GetOpenClipboardWindow  
返回打开剪贴板的那个窗口句柄。

HWND GetOpenClipboardWindow(VOID)

 
(十二)GetPriorityClipboardFormat  

int GetPriorityClipboardFormat( 
 UINT *paFormatPriorityList, // address of priority list 
 int cFormats // number of entries in list 
 );

 
(十三)IsClipboardFormatAvailable  
判断剪贴板的格式。

BOOL IsClipboardFormatAvailable( 
 UINT format // clipboard format 
 );


其中format表示的是剪贴板内数据的格式。该参数的意义可参照后面。

 
(十四)OpenClipboard  
打开剪贴板。

BOOL OpenClipboard( 
 HWND hWndNewOwner // handle to window opening clipboard 
 );


返回剪贴板的句柄。

 
(十五)RegisterClipboardFormat  
注册新的剪贴板格式。

UINT RegisterClipboardFormat( 
 LPCTSTR lpszFormat // address of name string 
 );


lpszFormat新的剪贴板格式名称。

 
(十六)SetClipboardData  
设置剪贴板内的数据。

HANDLE SetClipboardData( 
 UINT uFormat, // clipboard format 
 HANDLE hMem // data handle 
 );


uFormat 表示的是要放进剪贴板数据的格式;
hMem表示数据的地址指针。

 
(十七)SetClipboardViewer  
将剪贴板内 容连接到窗口。

HWND SetClipboardViewer( 
 HWND hWndNewViewer // handle to clipboard viewer window 
 );


hWndNewViewer表示要连接到的那个窗口句柄。


补充说明:  
上文中剪 贴板格式Format的可选参数如下:
CF_BITMAP位图格式;
CF_DIB
CF_DIBV5
CF_DIF
CF_DSPBITMAP
CF_DSPENHMETAFILE
CF_DSPMETAFILEPICT
CF_DSPTEXT
CF_ENHMETAFILE
CF_GDIOBJFIRST
CF_GDIOBJLAST
CF_HDROP
CF_LOCALE
CF_METAFILEPICT
CF_OEMTEXT
CF_OWNERDISPLAY
CF_PALETTE
CF_PENDATA
CF_PRIVATEFIRST
CF_PRIVATELAST
CF_RIFF
CF_SYLK
CF_TEXT 文本格式;
CF_WAVE音乐格式;
CF_TIFF
CF_UNICODETEXT

发表评论:

验证码