Pokaż wyniki 1 do 4 z 4

Temat: WinApi schowek-GetClipboardData()

  1. #1
    Zarejestrowany
    Jan 2009
    Postów
    37

    Domyślnie WinApi schowek-GetClipboardData()

    Witam ponownie
    Mam teraz problem odnośnie schowka windowsowego (nie szukam gotowców proszę o pomoc w nakierowaniu co jest błędne) otóż chce wydostac ze schowka jakiś tekst. I robie to w ten oto sposób
    Kod:
    #include <windows.h>
    #include <iostream>
    using namespace std;
    int main()
    {
        HGLOBAL hClipboardViewer;
        if(!OpenClipboard(NULL)) MessageBox(0, "schowek nie jest dostępny!", "schowek", MB_OK|MB_ICONERROR);
        
        hClipboardViewer=GetClipboardData(CF_TEXT);
        char *sz;
        strcpy(sz, (const char *)hClipboardViewer);
        cout<<sz<<endl;
    
        
        CloseClipboard();
        system("Pause");
        getchar();
        return 0;
    }
    wydaje mi sie rozsądny (pisze go na podstawie kodu który miał wrzucać do schowka tekst) i program mi sie kompiluje jednak od razu po uruchomieniu wywala błąd systemu czyli okienko "schowek.exe" raport coś tam windowsa opcje wyślij lub nei wysyłąj raportu;p
    możne ktoś pomóc i naprowadzic na rozwiazanie?
    Z góry dzięki za odpowiedzi
    Pozdro.
    Ostatnio edytowane przez Mad_Dud : 02-05-2009 - 19:44 Powód: Brak tagów code

  2. #2
    Zarejestrowany
    Jan 2009
    Postów
    216

    Domyślnie

    lame

    Kod:
    #include <windows.h>
    
    
    int system_pause_jest_dla_debili(){
    HANDLE stdin;
    BYTE to_read;
    DWORD bytes_read;
    if((stdin = GetStdHandle(STD_INPUT_HANDLE)) != INVALID_HANDLE_VALUE){
    ReadFile(stdin, &to_read, 1, &bytes_read, 0);
    return 0;
    }
    else return 1;
    }
    
    
    int main(){
    HANDLE ClipboardData;
    if(OpenClipboard(0) != 0){
    if((ClipboardData = GetClipboardData(CF_TEXT)) != 0){
    MessageBoxA(0, ClipboardData, 0, 0);
    }
    else MessageBoxA(0, "CF_TEXT niedostepny", 0, 0);
    CloseClipboard();
    }
    else MessageBoxA(0, "schowek nie jest dostepny!", "schowek", MB_OK);
    system_pause_jest_dla_debili();
    return 0;
    }
    program sie sypie bo masz pusty pointer char*.
    do kopiowania memory polecam rep(nz) movsb.

  3. #3
    Zarejestrowany
    Jan 2009
    Postów
    37

    Domyślnie

    dzieki za kod szkoda ze nei ma w nim komentarzy ale juz sobie dam rade z tym co do system("pause") - uzyłem go bo jak bawiłem sie z tym progsem to na początku nie miałem <iostream> zadeklarowanej i nei uzywałem getchar() i zazwyczaj nie uzywam systen("pause"). słowo "lame" wolałbym zebyś pisał początkujacy bo nie szukam gotowca tylko sie chce czegos nauczyc a zwracam sie o pomoc bo nei umie tego problemu sam rozwiązac.

  4. #4
    Zarejestrowany
    Jan 2009
    Postów
    37

    Domyślnie

    aha nie wiem czy u ciebie działało w porządku ale u mnie nie w tej linijce
    MessageBoxA(0, ClipboardData, 0, 0);
    takze gdyby ktos kiedyś szukał tego wątku to odrazu poprawiam
    MessageBoxA(0, (const char*)ClipboardData, 0, 0);

Podobne wątki

  1. C++/WinApi uchwyty
    By Matijas6113 in forum C/C++
    Odpowiedzi: 4
    Autor: 02-05-2009, 19:23
  2. WINAPI dev c++ problem
    By naichniach in forum C/C++
    Odpowiedzi: 0
    Autor: 11-12-2007, 20:23
  3. Winapi - Okienka
    By Tinek in forum C/C++
    Odpowiedzi: 1
    Autor: 09-16-2007, 21:18
  4. POP + WinAPI
    By 31337 in forum Newbie - dla początkujących!
    Odpowiedzi: 0
    Autor: 05-03-2007, 13:43
  5. [winapi]dostęp do pamięci
    By 31337 in forum C/C++
    Odpowiedzi: 0
    Autor: 04-24-2007, 19:18

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj