Hirdetés

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

  • kampi_
    csendes tag

    Hali!

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>

    int main()
    {
    int error;

    error = execl ("c:\\windows\\system32\\mspaint.exe", " d:\\ubul.jpg", NULL);

    system("c:\\windows\\system32\\mspaint.exe d:\\ubul.jpg");

    return 0;
    }

    Mindkét esetben megnyitom a Paint-et 1 paraméterrel ami egy kép elérése, azaz a Paint elindul és betölti az adott képet automatikusan.

    A system-es megoldás nem elegáns és nem is szokták javasolni, de ennek ellenére használható, ha nem fontos hogy a progi hordozható legyen, és tudod hogy csak egy adott környezetben fogod úgyis csak használni a progit.(vagy másképp fogalmazva: ha magánhasználatra készíted a progit)

    Ahogy látszik execl esetén csak simán fel kell sorolni az adott paramétereket(ügyelve hogy szóköz legyen közte!), az error változó ha -1, akkor nem sikerült futtatni az adott külső alkalmazást.
    Az execl használatához az unistd.h headerfile szükséges.

    Fire.

    Hi!

    Tehát ha jól értem, akkor elvileg ebben a formában működnie kellene, ugye?

    execl("psexec.exe","\\\\target -i -c d:\\kampi\\map.bat",NULL);

    Csak az volt a gáz ezzel, hogy a "target" változót nem értelmezte rendesen, mert a "\\target" nevű gépen akarta lefutattni a progit, pedig pont az lenne a lényege, hogy a target az változik. Kiolvas egy gépnevet egy fájlból és azon a gépen lefut a progi, aztán kiolvassa a következőt és megint lefut. Mondjuk azóta variáltam még, csak sajnos legkésőbb hétfőn este tudom majd kipróbálni....

    Másik kérdés. Mielőtt ez a rész lefutna, akarok egy olyat, hogy megpingelje az összes gépet ami a fájlban van, mert ha a psexec-et egy olyan gépen akarom futtatni, ami nem elérhető akkor leáll a progi. Ezért szertnék olyat csinálni, hogy előtte megpingelek minden gépet ami a fájlban van, és ha elérhető, akkor kiírja egy fájlba, ha meg nem akkor egy másik fájlba, és így tuti lefutna végig a progi rendesen. A kérdés csak az, hogy hogyan tudom a ping visszatérési értékét vizsgálni?? Nincs erre valamilyen ötletetek, vagy programrészleteteket, ami ha lefutott a ping akkor pl.: visszaad 0-át, ha nem elérhető, akkor 1-et, ha meg valamilyen hiba van akkor 2-vel. Mert így már tudnám kezelni rendesen.

    Köszi a segítséget!

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