File in Zwischenablage kopieren?

Zeller

Mitglied
Hallöchen

Ich möchte gerne ein File dessen Pfad ich habe in die zwischenablage kopieren,
damit ich es später z.B in WinExplorer einfügen kann.

Kann mir da jemand helfen?

Ich habe mal was mit CopyToClipboard() versucht es aber nicht hinbekommen.

Ist das überhaubt möglich?

Schon jetzt mal Danke für eure Hilfe.
 
Mit dieser Funktion kannst du eine Datei in die Zwischenablage kopieren:

Code:
BOOL CopyFileToClipboard(CString strFile)
{
    DROPFILES dobj      = { sizeof(DROPFILES), {0,0}, 0, 1 };
    int       nLen      = strFile.GetLength();
    int       nGblLen   = sizeof(dobj) + (nLen * 2) + 5;

    HGLOBAL   hGbl      = GlobalAlloc(GMEM_ZEROINIT | GMEM_MOVEABLE| GMEM_DDESHARE, nGblLen);

    if( hGbl )
    {
        BYTE* pbyteData = (BYTE *)::GlobalLock(hGbl);
    
        memcpy(pbyteData, &dobj, sizeof(dobj));
    
        for( int i = 0; i < nLen; i++ )
        {
            pbyteData[(i * 2) + sizeof(dobj)] = strFile.GetAt(i);
        }

        ::GlobalUnlock(hGbl);

        if( OpenClipboard() )
        {
            EmptyClipboard();
            SetClipboardData(CF_HDROP, hGbl);
            CloseClipboard();

            return TRUE;
        }
    }

    return FALSE;
}

CopyToClipboard scheint eine Ole-Geschichte zu sein, dazu habe ich keine Codebeispiele.
 
Zurück