Hirdetés

Új hozzászólás Aktív témák

  • kampi_
    csendes tag

    Hát ez sajnos elég szörnyűre sikerült :(
    Amivel mindenképpen baj van:
    * 3 processznek van helyed statikusan, és sehol nem ellenőrzöd nem lesz-e esetleg több
    * az fgets-nél nem nézed nem üres sor jött-e illetve, hogy az egész sor megvan-e
    * az OpenProcess nem NULL-t fog visszaadni, hanem INVALID_HANDLE_VALUE-t.
    * a CloseHandle akkor is fut, ha a handle null (invalid)
    * a while(1) ciklusban a "current" változó elmegy a végtelenbe (és nem is nulláról indul)

    A többi hiba ezekhez képest elhanyagolható.

    Hi!

    Igen egyenlőre tényleg 3 processznak van helye, mert most csak tesztelem. De ettől függetlenül is, csak kettőt nyit meg! Az fgets előtt megnézem, hogy létezik-e fájl, és hogy üres-e? Azt tény, hogy azt nem tudom hogy lehet megnézni, hogy üres-e egy sor, vagy hogy az egész megvan-e, de ha te tudod, akkor elmondhatnád :) Az OpenProcess elvileg NULL-t ad vissza. Legalábbis én azért gondolom, mert ha nem lenne NULL akkor nem teljesülne ez a feltétel : if (phandle==NULL) createproc(proc_data[i].proc_name,i,proc_data); De teljesül mert ha bezárom, akkor megnyitja megint a process-t, tehát teljesülnie kell,nem? A while(1) cilusbanpedig csak elfelejtettem átírni a current-et i-re.:( De már kijavítottam. De ettől függetlenül azt nem mondtad meg, hogy miért csak kettő process nyílik meg és nem több? :) Vagy ez lehet ezek a hibák miatt? A CloseHandle-es részt nem igazán értem hogy mire gondoltál. Sajnos ezeket a handleket meg a createprocess-t nem teljesen vágom, hogy hogyan műkődnek. Ezért is kértem segítséget :)

    Kampi

Új hozzászólás Aktív témák