OleFlushClipboard 函式 (ole2.h)
執行剪貼簿關機順序。 它也會釋放 OleSetClipboard 函式放置在剪貼簿上的 IDataObject 指標。
Syntax
HRESULT OleFlushClipboard();
傳回值
此函式會在成功時傳回S_OK。 其他可能的值包括下列專案。
傳回碼 | Description |
---|---|
|
OleFlushClipboard 中使用的 Windows OpenClipboard 函式失敗。 |
|
OleFlushClipboard 中使用的 Windows CloseClipboard 函式失敗。 |
備註
OleFlushClipboard 會將數據對象中的數據轉譯到剪貼簿,並釋放數據物件的 IDataObject 指標。 當將數據物件放在剪貼簿上的應用程式正在執行時,剪貼簿只會保留資料物件的指標,因而節省記憶體。 如果您要撰寫做為剪貼簿作業來源的應用程式,您可以在關閉應用程式時呼叫 OleFlushClipboard 函式,例如當使用者離開應用程式時。 呼叫 OleFlushClipboard 可在應用程式關閉之後,啟用 OLE 物件的貼上和貼上連結。
在呼叫 OleFlushClipboard 之前,您可以輕鬆地判斷您的數據是否仍在剪貼簿上,並呼叫 OleIsCurrentClipboard 函式。
OleFlushClipboard 會保留資料傳輸物件提供的所有格式,包括剪貼簿上的 OLE 1 相容性格式,以便在應用程式關機後提供它們。 除了 OLE 1 相容性格式之外,這些格式也包括全域句柄媒體上提供的所有格式, (除了TYMED_FILE) ,並以 NULL 目標裝置格式化。 例如,如果數據源應用程式提供特定的剪貼簿格式, (在 IStorage 物件上說 cfFOO) ,並呼叫 OleFlushClipboard 函式,則會將記憶體物件複製到記憶體中,並將 hglobal 記憶體句柄放在剪貼簿上。
若要擷取剪貼簿上的資訊,您可以從另一個應用程式呼叫 OleGetClipboard 函式,這會建立預設數據物件,而剪貼簿中的 hglobal 會再次變成記憶體物件。 此外, FORMATETC 列舉值和 IDataObject::QueryGetData 方法會正確地指出原始剪貼簿格式 (cfFOO) 可在TYMED_ISTORAGE上再次使用。
若要清空剪貼簿,請呼叫指定其參數 NULL 值的 OleSetClipboard 函式。 如果關閉之後不需要在剪貼簿上保留數據,或是數據將使用標準 Windows 剪貼簿函式放在剪貼簿上,應用程式應該呼叫此專案。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | ole2.h |
程式庫 | Ole32.lib |
Dll | Ole32.dll |
API 集合 | ext-ms-win-com-ole32-l1-1-5 (Windows 10 10.0.15063 版) |