比如 我程序中有个字符串;我现在想把它复制到系统的粘贴板上去;想粘贴的时候就可以把内容粘贴的系统的任何地方;

解决方案 »

  1.   

    Copying Information to the Clipboard1.Opens the clipboard by calling the OpenClipboard function. 
    2.Empties the clipboard by calling the EmptyClipboard function. 
    3.Calls the SetClipboardData function once for each clipboard format the application provides. 
    4.Closes the clipboard by calling the CloseClipboard function. http://msdn.microsoft.com/en-us/library/ms649016(VS.85).aspx#_win32_Copying_Information_to_the_Clipboard
      

  2.   

    HANDLE SetClipboardData(
      UINT uFormat, // clipboard format
      HANDLE hMem   // data handle
    );下面是剪切板的一些函数:
    OpenClipboard()
    CloseClipboard()
    EmptyClipboard()
    GetClipboardData()
    SetClipboardData()
    EnumClipboardFormats()
    SetClipboardViewer()
    ChangeClipboardChain()
    GetOpenClipboardWindow()
    GetClipboardOwner() 
      

  3.   

    如下函数,供参考:
    void CMainFrame::ClipText(LPCTSTR psz)
    {
    HGLOBAL hglbCopy;
    LPTSTR  lptstrCopy; if (!::OpenClipboard(GetSafeHwnd())) return ;
    int nlen = strlen(psz);
    hglbCopy = GlobalAlloc(GMEM_DDESHARE, nlen+2);  if (hglbCopy == NULL) 

    CloseClipboard(); 
    return ; 
    }  EmptyClipboard(); lptstrCopy = (LPTSTR)GlobalLock(hglbCopy);
    strcpy((char *)lptstrCopy,psz);
    lptstrCopy[nlen] = 0; 
    GlobalUnlock(lptstrCopy);  SetClipboardData(CF_TEXT, hglbCopy);
    CloseClipboard();
    //MessageBox("已经将内容复制到剪贴板,\r\n你可以在其它编辑器中粘贴。");
    return ;
    }
      

  4.   

    CString str;
    GetDlgItemText(IDC_EDIT1, str);
    HGLOBAL hClip;
    if(OpenClipboard())
    {
      EmptyClipboard();   
      hClip = GlobalAlloc(GMEM_MOVEABLE, str.GetLength()+1);
      char *buff;
      buff = (char*)GlobalLock(hClip);
      strcpy(buff, (char*)(LPCTSTR)str);
      GlobalUnlock(hClip);
      SetClipboardData(CF_TEXT, hClip);
      CloseClipboard();