打開剪貼板:
OpenClipboard
返回值為BOOL,成功返回非0,若失敗或剪貼板被佔用,返回0.
CloseClipboard:關閉
EmptyClipboard:清空
前一個程序調用關閉,後一個程序調用清空后,打開剪貼板的當前窗口才擁有剪貼板。
SetClipboardData向剪貼板中防止數據。
參數:
nFormat:剪貼板格式
hMem:具有指定格式的數據的句柄
-------------------------------------------------------------------
延遲提交技術
-------------
第一次調用SetClipboardData時,將其hMem參數設置為NULL,在剪貼板上以指定的剪貼板格式放置一個
空的剪貼板數據塊。然後直到其他進程需要數據或自身進程需要終止運行時再次調用SetClipboardData函數,這次
才真正提交數據(不需再調用OpenClipboard和EmptyClipboard)
IsClipboardFormatAvailable(format)//檢測剪貼板上是否包含了參數format指定的格式的數據
GetClipboardData(CF_TEXT);//從剪貼板上獲得指定數據
----------------------------------------------------------------------------
匿名管道
----------
匿名管道時未命名的單向管道,通常用來在一個父進程和一個子進程之間傳輸數據。
匿名管道只能實現本地機器上兩個進程之間的通信,而不能實現跨網路的通信。
CreatePipe(
)
返回值是蓋匿名管道的讀寫句柄。
當調用CreateProcess創建一個子進程時,他將繼承父進程所有打開的句柄。將子進程的特殊句柄設置為管道的
讀寫句柄,將子進程的標準輸入輸出句柄分別設定為管道的讀寫句柄。
GetStdHandle獲取標準輸入、輸出、標準錯誤輸出句柄。
在創建一個新進程時,系