將字符串複製到系統剪貼板

將一個字符串的內容複製到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();     // 關閉剪貼板

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章