Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [C] lanciare un eseguibile

    Ringrazio anticipatamente chi sia in grado di rispondermi.
    C'è un modo per lanciare da un programma C un altro programma eseguibile? Ad esempio in un menu... ad una certa scelta mi lancia il file pincopallo.exe?

  2. #2
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    1,414
    Mi associo con un altra domanda, visto che è inutile aprire un nuovo 3d :quipy:

    Più in generale, è possibile prendere in variabile un file presente sul OS che esegue il programma?

    Ad es io ho nel mio computer un file chiamato CIAO.txt in
    /home/maiosyet
    Lancio il mio programmino da shell ed esso mi prende il mio CIAO.txt e magari me lo stampa ecc?

    Suppongo ce se è possibile fare questo si possa rispondere quindi anche alla domanda di zaknafein...

    Thanx

  3. #3
    includi <stdlib.h>

    poi...

    system("C:\\percorso\\mio_eseguibile.exe");

    n.b. attenzione ai doppi backslash.

    n.b. con system() si possono chiamare tutti i comandi della shell.
    ...Terrible warlords, good warlords, and an english song

  4. #4
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    1,414
    Originariamente inviato da Johnny_Depp
    includi <stdlib.h>

    poi...

    system("C:\\percorso\\mio_eseguibile.exe");

    n.b. attenzione ai doppi backslash.

    n.b. con system() si possono chiamare tutti i comandi della shell.
    Grazie ho fatto un po' di prove e devo dire che la cosa mi ha un po' turbato...

    Ho creato dei banalissimi listati che creavano e cancellavano a mio piacere cartelle, si potrebbero formattare dischi fissi, prelevare gli hash delle pwd da un sistema...

    Ho provati a passarli all'antivirus e non me li riconosce infetti ovviamente...chiunque potrebbe mandrami un simile file per email e magari installarmi un trojan nel pc...

    Non è un tantino pericoloso?

  5. #5
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    1,414
    Oppure mi vedo già il lamerazzo che mi manda un allegato, io lo scansiono con l'antivisus e non trovo nulla si sospetto, e quello poi magari in 2 righe di codice, ad es facendo wget prelevando un visrus, salvandolo sul diso fisso e aprendolo magari siccome l'eseguibile di fatto l'ho aperto io l'antivirus non se ne accorge in tempo e addio pc...

    Come prevenire certe sgradevoli situazioni? :master:

  6. #6
    Grazie della delucidazione
    I miei intenti non sono di questo tipo, mi serviva generare più eseguibili perchè ho scritto un programma per computer vecchi, e aprire un singolo file enorme è più dispendioso che aprirne tanti al momento opportuno, non trovate? :quote:

    Per la pericolosità mi associo, ma credo che il sistema operativo blocchi chiamate a formattazioni o eliminazione di cartelle davvero importanti quali quelle di sistema... in ambito C++ con un Try dovrebbe fallire...
    Per il resto è vero, puoi eliminare file e distruggere cartelle... ma lo potevi già fare con le funzioni standard del C o scritte di persona... ricordo che Windows l'hanno scritto in C / C++ :gren:

  7. #7
    curiosità.. ho rogrammato qualcosa sotto linux per l'uni e si usa exec.... è una primitiva linux o funge anche su winzozzo?

  8. #8
    Originariamente inviato da }gu|do[z]{®©
    curiosità.. ho rogrammato qualcosa sotto linux per l'uni e si usa exec.... è una primitiva linux o funge anche su winzozzo?
    è una funzione (o meglio famiglia di funzioni) specifica per ambienti Unix...
    http://www.mkssoftware.com/docs/man3/execl.3.asp

    Tuttavia system() (visto che appartiene allo standard ansi per il c) può essere utilizzata anche in ambienti Linux
    ...Terrible warlords, good warlords, and an english song

  9. #9
    compris.. denghiù

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.