Skocz do zawartości

Jarema

Członkowie
  • Postów

    0
  • Dołączył

  • Ostatnio

    Nigdy

Posty napisane przez Jarema

  1. 1. O ile pamiętam obsługiwało się jakiś komunikat. Napewno gdzieś jest o tym na forum, tylko poszukaj sobie bo nie mam już dzisiaj siły.

    2. https://www.winapi.org/forum/viewtopic.php?t=350

    3. Klasa fstream, musisz dołączyć plik nagłówkowy <fstream.h>

  2. Zdaje mi sie ze za pomoca MCI nie da sie wybrac konkretnego napedu. Ja mam z tym jeszcze inny problem, mianowicie ten interfejs nie wykrywa mi mojego nowego cd-ka, konkretniej COMBO. Jest jakis inny sposob na wydawanie polecen do cd-romu :/ :/ Taki w ktorym najlepiej nie trzeba uzywac MCI.

  3. Czy jest wogóle możliwe przeniesienie stworzonego obiektu np. za pomoca programow do grafiki trojwymiarowej (3D Studio Max) do programu.

    Huh, a myślałeś że modele do np. Quake`a rysowali programowo, funkcjami np. OpenGL :/ ;) ;) Sory 4 my little offtopic.

  4. ofn.lStructSize = sizeof (OPENFILENAME) ;
    ofn.hwndOwner = hwnd ;
    ofn.hInstance = NULL ;
    ofn.lpstrFilter = szFilter ;
    ofn.lpstrCustomFilter = NULL ;
    ofn.nMaxCustFilter = 0 ;
    ofn.nFilterIndex = 0 ;
    ofn.lpstrFile = "NazwaPliku";
    ofn.nMaxFile = MAX_PATH ;
    ofn.lpstrFileTitle = NULL ;
    ofn.nMaxFileTitle = MAX_PATH ;
    ofn.lpstrInitialDir = NULL ;
    ofn.lpstrTitle = "jakiś tytuł";
    ofn.Flags = OFN_OVERWRITEPROMPT;
    ofn.nFileOffset = 0 ;
    ofn.nFileExtension = 0 ;
    ofn.lpstrDefExt = TEXT ("bmp") ;
    ofn.lCustData = 0 ;
    ofn.lpfnHook = NULL ;
    ofn.lpTemplateName = NULL ;

    GetSaveFileName (&ofn);

    Tak dziadek Petzold tego używa. Nie sprawdzalem tego twojego, ale to napewno działa.

  5. No to tak:
    Nowy wątek ma postac:
    VOID MojWatek(PVOID pvoid);

    Wywolujesz go w ten sposob:
    _beginthread(MojWatek, 0, &params);

    Gdzie params to parametry ktore podajesz do watku. Jest to struktura definiowana przez Ciebie. Odbierasz ja potem w ten sposob:

    VOID MojWatek(PVOID pvoid)
    {
    volatile PARAMS *pparams = (PARAMS*)pvoid;
    }

    
    

    gdzie PARAMS to wlasnie ta struktura.

  6. poprostu zamiast standardowych typow ASCII uzywaj unicodowych - zamiast CHAR uzyj WCHAR. No i oczywiscie do unikodu dochodza ci inne funkcje do operacji na stringach. Tez maja 'w' na poczatku.

  7. 3. Kiedys tego probowalem uzyc, ale za cholere nie dzialalo, biblioteka stdlib.h chyba.
    4. ShellExecute, w tej funkcji mozesz uruchomic program kazdego formatu wykonywalnego i przekazac do niego parametry.

  8. Blad jest bardzo prosty do zrozumienia, wystarczy przetlumaczyc slowko recognized co znaczy rozpoznawalny. Poprostu linker nie rozumie tego pliku biblioteki i nie wywala ci reszty bo wie ze jesli nie moze czytac lib-a to z funkcji nici. Uzyj poprzedniej biblioteki. Unresolved... to blad ktory oznacza mniej wiecej tyle ze jest definicja funkcji ale nie mozna znalezc jej ciala, wiele razy mialem z tym problemy, ale ani raz nie byl to blad kompilatora, tylko moj i to na dodatek idiotyczny. wiec radze dobrze przejzyj kod.

  9. Zdaje mi sie ze WM_PAINT z dwoma 0 nie dziala dlatego ze on sobie sam przekazuje jakies parametry przez 'w' i 'l' Param. UpdateWindow nie dziala prawdopodobnie dlatego ze stwierdza iz odrysowanie okna jest niezbednie potrzebne, tzn. nie zostalo ono wlasnie odsloniete lub nie zaszla jakas zmiana typu nacisniecie przycisku, krotko mowiac okno jest ważne. A InvalidateRect powoduje jego unieważnienie co zmusza procedure do ponownego odmalowania.

  10. 2. Jak wyzej.
    3. Jak wyzej.
    4.Watpie ze jest takie cos (napewno nie ma), ale nie widze problemu w otwieraniu i przeszukaniu recznie. Jeżeli jest jakis problem to napisz jaki.
    5. EnumWindows, i do tego dajesz EnumWindowsProc, jako lParam przekazujesz sobie jakas tablice na uchwyty i w EnumWindowsProc wpisujesz do tablicy uchwyty, a jak masz uchwyt to wszystko jasne.
    Przyklad w Delphi:

    6. Porzadkowania znaczy sortowania? Jesli tak to nie wiem czy jest cos prostszego do znalezienia w necie gdzie masz milion gotowych przykladow, moze QuickSort, albo BubbleSort bo jest najprostszy. W Bubble poprostu jedziesz po jednej tablicy i jezeli element nastepny jest wiekszy/mniejszy od poprzedniego to zamieniasz je miejscami.

    function EnumChildProc(Hw:Hwnd;P:pointer):boolean;stdcall;
    var
    winname,cname:array[0..144]of char;
    begin
    result:=true;
    getwindowtext(hw,winname,144);
    getclassname(hw,cname,144);
    List.Append('POTOMEK:  TEXT:'+strpas(winname)+'   KLASA: '+strpas(cname));
    end;
    
    function EnumWindowProc(Hw:HWnd;P:Pointer):boolean;stdcall;
    var
    winname,cname:array[0..144]of char;
    begin
    result:=true;
    getwindowtext(hw,winname,144);
    getclassname(hw,cname,144);
    List.Append('OKNO:     TEXT:'+strpas(winname)+'   KLASA: '+strpas(cname));
    enumchildwindows(hw,@enumchildproc,0);
    end;
    
    

    8. ShellExecute(handle,'open','https://www.inprise.com',nil,NIL,SW_SHOWNORMAL);
    Otwiera www w domyslnej przegladarce.
    (mailto:ble@ble.pl - otwiera pisanie maila).

    Mam nadzieje ze pomoglem.

  11. Po drugie nie zaglądałem do tamtej części forum, ponieważ jestem zainteresowany kodem w WinAPI, a nie w C++ (a to chyba spora różnica).

    tak do twojej wiadomosci kod moze byc pisany w c++, lub np. Delphi bo WinAPI to bynajmniej nie jezyk programowania, lecz interfejs programistyczny/zbior funkcji :!: I to rzeczywiscie jest cholernie wielka roznica.

    Nicon napisał:
    Looknij w dzial c++, tam masz bardzo podobny temat, a pod jedym wzgledem identyczny. Wiec sorki, ale poszukaj po forum zanim cos napiszesz...

    apropo tego starego tematu to znalazlem odpowiedz dawno temu: HKEY_PERFORMANCE_DATA, z tego klucza mozna odczytac praktycznie wszystkie parametry kompa, lacznie z pamiecia i uzyciem procka.

    Cytat:
    Dolanczam (dołączam!) sie do pytania....

    Jakos na tym forum nikt nie czepia sie za slowa, moze dlatego ze wiekszosc rozumie co to znaczy pisac posty po 12 w nocy. Moze specjalista od jezyka polskiego nie jestem, ale kazdy normalny zrozumie co napisalem.

  12. winsock.dll, jest instalowany napewno razem z windom, ale (to zalezy od windy) nie jest instalowana jego najnowsza wersja, o ile sie nie myle winsock2, dlatego programiki pisane pod winsock2 nie dzialaja, ale pierwszy winsock jest dolanczany napewno.

  13. Raczej watpie by dalo sie to zainkludowac do projektu, to normalne ze nie chodzi. To tak samo jakbys pisal pod WinSocka i na kompie ktory nie ma winsock.dll odpalil go. chyba ze (nie mam VC++ .NET) jest takie cos jak w VC 6.0. Wybierasz z menu Project->Settings i tam zakladka Link. Tak sie to robi w VC 6.0.

  14. Moze zacznijmy od tego. Po co chcesz pisac w Visual Studio .NET w czystym api? Do tego jest Visual 6.0. .NET byl pisany specjalnie z mysla o C#, tak jak VC 6.0 o C++. Wiec zastanow sie pozadnie zanim wezmiesz do reki jakis kompilator, co tak naprawde i w czym chcesz pisac, bo to wyglada mniej wiecej tak jakbys wzial Dev c++ i pisal w assemblerze... a apropo sampli MS, narazie w MSDN nie znalazlem ani jednego bledu, moze maja troche za duzo niepotrzebnych rzeczy w sobie ale dzialaja.

  15. Wysylalem go na maila do bialego. Dziala mu i moze go dokleic, a z wysylaniem na serwer mialem spore problemy, ale przyklad sprawdzajacy biblioteke wyslalem od kuzyna bo ma stalke i weszlo w calosci, a sam modul z funkcjami wyslalem przed chwila ;) :)  :) 

×
×
  • Utwórz nowe...