拷贝字符串到Windows剪贴板

    技术2022-05-11  166

    // hWnd可以为NULL, lpszText为需要拷贝的字符串

    BOOL CopyStringToClipboard(HWND hWnd, LPCTSTR lpszText){ int nlen = strlen(lpszText); if (nlen == 0)  return FALSE;

    // 将szText中的内容复制到剪贴板 HGLOBAL hglbCopy; LPTSTR  lptstrCopy;

     if (!::OpenClipboard(hWnd))  return FALSE;

     hglbCopy = GlobalAlloc(GMEM_DDESHARE,             (nlen + 1) * sizeof(char));   if (hglbCopy == NULL)  {   CloseClipboard();   return FALSE;  }

     EmptyClipboard();

     lptstrCopy = (LPTSTR)GlobalLock(hglbCopy);     memcpy(lptstrCopy, lpszText, nlen);    lptstrCopy[nlen] = (TCHAR) 0;    // null character     GlobalUnlock(lptstrCopy);    SetClipboardData(CF_TEXT, hglbCopy); CloseClipboard();

     return TRUE;}


    最新回复(0)