Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Builder c++]- uruchomienie innego programu z parametrami

03 Lis 2009 13:38 2334 3
  • Poziom 23  
    Witam
    Mam problem z uruchomieniem programu przy pomocy funkcji API ShellExecute(..).
    Kod poniżej.
    Code:

    String arg="-F ping_t.pcap -d rpcap://\Device\NPF_{DD007ADD-A136-41CC-A796-89868FC5BB8A} -s";
    ShellExecute(NULL,"open","npg.exe",arg.c_str()  ,NULL,1);


    Po wykonaniu tych instrukcji program sie uruchamia i niby wszystko jest ok, tylko że program "npg.exe" nie wysyła pakietu (w pliku ping_t.pcap) do sieci, po kilku próbach zmian parametrów, wyszło na to że problem lezy w parametrze "-d" który określa docelowy interfejs. Jeśli uruchomię "npg.exe" bez parametru "-d" to program pyta o wybór interfejsu, po wyborze program wysyla pakiet i konczy działanie. Co może być przyczyną takiego zachowania, dodam jeszce że program npg.exe uruchomiony z tymi wszystkimi parametrami z konsoli cmd działa poprawnie, po uruchomieniu przy pomocy funnkcji Shell... tez niby działa poprawnie, bo nie zgłasza żadnych błedów związanych z parametrami, tylko że nie wysyla pakietu.Co jest nie tak?
  • Pomocny post
    Poziom 25  
    Choć wiem jaka jest odpowiedz to pozostawię to do przetestowania autorowi tematu :)

    Uruchom to

    Code:
    cout << "[\D]" << "[\\D]" << endl;


    Dodam tylko że \N zachowa się podobnie jak \D.
  • Poziom 23  
    no fakt jakieś zaciemnienie umysłu, że nie zauważyłem znaków sterujących, teraz działa, dzieki