將一個字符串的內容複製到windows剪貼板,以下代碼是在MFC中編寫的。
CString strText;
strText = "Hello world!";
DWORD dwLength = strText.GetLength();
HANDLE hGlobalMemory = GlobalAlloc(GHND, dwLength + 1); // 分配全局內存並獲取句柄
LPBYTE lpGlobalMemory = (LPBYTE)GlobalLock(hGlobalMemory); // 鎖定全局內存
memcpy(lpGlobalMemory, strText, dwLength);
lpGlobalMemory[dwLength] = '\0';
GlobalUnlock(hGlobalMemory); // 鎖定內存塊解鎖
HWND hwnd = GetSafeHwnd(); // 獲取安全窗口句柄
::OpenClipboard(hwnd); // 打開剪貼板
::EmptyClipboard(); // 清空剪貼板
::SetClipboardData(CF_TEXT, hGlobalMemory); // 將內存中的數據放置到剪貼板
::CloseClipboard(); // 關閉剪貼板