OpenClipboard

如果一個應用程式調用OpenClipboard,HWND設定為NULL,EmptyClipboard設定剪貼簿所有者為NULL,這會導致SetClipboardData失敗。

VB

OpenClipboard

打開剪貼簿查看,並防止其他應用程式修改剪貼簿的內容.

VB聲明:

Declare Function OpenClipboard Lib "user32" (ByVal hWndNewOwner As Long) As Long

C/C++函式原形:

BOOL OpenClipboard(

__in HWND hWndNewOwner

);

參數

hWndNewOwne Long類型,與打開剪下板相關聯的視窗句柄。如果這個參數為NULL,打開剪貼簿與當前任務相關聯。

返回值

如果函式執行成功,返回非零值.

如果函式執行失敗,返回零,為了獲得更多的錯誤信息,調用GetLastError.

注:

如果另一個視窗已經打開的剪貼簿,OpenClipboard函式會失敗.每次成功調用OpenClipboard後都應有一次CloseClipboard調用.

由hWndNewOwner參數確定的視窗不會成為剪貼簿所有者,除非EmptyClipboard函式被調用。

需求:

客戶機作業系統最低需求:Windows XP

伺服器作業系統最低需求:Windows 2000 Server

頭檔案:windows.h

庫檔案:user32.lib

DLL檔案名稱:user32.dll

VC

介紹

類: CWnd

頭檔案:

afxwin.h

功能:打開剪貼簿。

語法:

BOOL OpenClipboard();

返回值:

如果通過CWnd打開了剪貼簿,則返回非零值。

如果其他應用程式或視窗已經打開了剪貼簿,則返回零。

說明:

在調用Windows的CloseClipboard函式之前,其他應用程式將不能修改剪貼簿的內容。

在調用Windows的EmptyClipboard函式之前,當前的CWnd對象將不會成為剪貼簿的擁有者。

示例

/*************************************************************************

演示函式原型:OpenClipboard();

程式功能說明:設定貼上板的文本數據。

************************************************************************/

//打開貼上板

if(!OpenClipboard())

//如果失敗則釋放記憶體局柄

GlobalFree(m_hMemory);

//清空貼上板

else if(!EmptyClipboard()||SetClipboardData(CF_TEXT,m_hMemory)==NULL)

{

//失敗時釋放記憶體句柄

GlobalFree(m_hMemory);

}

else

//關閉貼上板

CloseClipboard();

相關詞條

熱門詞條

聯絡我們