execlp(); - OS Abhängig ô.o

  • execlp(); - OS Abhängig ô.o

    Hallo!

    Ich hab ein kleines Problem ich möchte eine *.exe von einen Programm starten.
    Wenn ichs bei mir mache funktioniert alles - habs schnell zu kumpel geschickt - und bei ihm gehts nicht?
    die "SITDnow.exe" geht bei ihm aber... Er benutzt ebenfalls Windows (ich XP er Vista).

    (Das Prog läuft ganz normal durch - aber startet nicht die SITDnow.exe)

    hier der code:

    Quellcode

    1. #include <iostream>
    2. #include <unistd.h>
    3. using namespace std;
    4. int main()
    5. {
    6. execlp("SITDnow.exe", NULL);
    7. };

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von SITDnow ()

  • unistd.h - naja ist standard mäßig bei den meisten Compiler mit bei und wie gesagt laufen die Funktionen auch auf XP...Hab nämlich noch mal auf einen anderen XP rechner ausprobiert und da liefs ebenfalls ohne probleme - also scheints an Vista zu liegen.....
  • Naja, die unistd.h kommt aus dem Unix/Linux Betriebssystem. Es kann gut sein, dass diese für Windows geportet wurde. Da aber Microsoft selbst, nichts mit diesem Header zu tun hat, werden die auch ganz sicher nich auf kompatibiltät wert gelegt haben, als Vista entworfen wurde.
    du bist also gezwungen dir eine andere Lösung einfallen zu lassen.

    Schau dir vielleicht alternativ mal die Funktion ShellExecute(...) aus an.