Clipboard Inhalt in eine Textdatei schreiben



  • Hallo, ich bitte um einen Code-Snippet, da ich es irgendwie nicht schaffe.
    Ungefähr so:

    int write(void) {
    char *text = #GetClipboardData + OpenClipboard usw.#;
    fprintf(fp, "%s\n", text);
    return 0;
    }
    

    Mehr nicht, ich weiß halt nur nicht genau, wie man das umsetzt.
    Danke!



  • http://msdn2.microsoft.com/en-us/library/ms649016.aspx 👎

    VOID WINAPI EditPaste(VOID) 
    { 
        PLABELBOX pbox; 
        HGLOBAL   hglb; 
        LPTSTR    lptstr; 
        PLABELBOX pboxCopy; 
        int cx, cy; 
        HWND hwnd; 
    
        pbox = hwndSelected == NULL ? NULL : 
            (PLABELBOX) GetWindowLong(hwndSelected, 0); 
    
        // If the application is in edit mode, 
        // get the clipboard text. 
    
        if (pbox != NULL && pbox->fEdit) 
        { 
            if (!IsClipboardFormatAvailable(CF_TEXT)) 
                return; 
            if (!OpenClipboard(hwndMain)) 
                return; 
    
            hglb = GetClipboardData(CF_TEXT); 
            if (hglb != NULL) 
            { 
                lptstr = GlobalLock(hglb); 
                if (lptstr != NULL) 
                { 
                    // Call the application-defined ReplaceSelection 
                    // function to insert the text and repaint the 
                    // window. 
    
                    ReplaceSelection(hwndSelected, pbox, lptstr); 
                    GlobalUnlock(hglb); 
                } 
            } 
            CloseClipboard(); 
    
            return; 
        } 
    
        // If the application is not in edit mode, 
        // create a label window. 
    
        if (!IsClipboardFormatAvailable(uLabelFormat)) 
            return; 
        if (!OpenClipboard(hwndMain)) 
            return; 
    
        hglb = GetClipboardData(uLabelFormat); 
        if (hglb != NULL) 
        { 
            pboxCopy = GlobalLock(hglb); 
            if (pboxCopy != NULL) 
            { 
                cx = pboxCopy->rcText.right + CX_MARGIN; 
                cy = pboxCopy->rcText.top * 2 + cyText; 
    
                hwnd = CreateWindowEx( 
                    WS_EX_NOPARENTNOTIFY | WS_EX_TRANSPARENT, 
                    atchClassChild, NULL, WS_CHILD, 0, 0, cx, cy, 
                    hwndMain, NULL, hinst, NULL 
                ); 
                if (hwnd != NULL) 
                { 
                    pbox = (PLABELBOX) GetWindowLong(hwnd, 0); 
                    memcpy(pbox, pboxCopy, sizeof(LABELBOX)); 
                    ShowWindow(hwnd, SW_SHOWNORMAL); 
                    SetFocus(hwnd); 
                } 
                GlobalUnlock(hglb); 
            } 
        } 
        CloseClipboard(); 
    }
    

Anmelden zum Antworten