Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Inviare output ad un' altro programma
Forum - C/C++ - Inviare output ad un' altro programma

Avatar
Kernipo (Member)
Newbie


Messaggi: 5
Iscritto: 06/08/2006

Segnala al moderatore
Postato alle 13:29
Sabato, 16/12/2006
Come faccio ad inviare l' output di un mio programma C ad un' altro programma in modo che per esempio se il mio programma per output restituisce uno sul blocc note mi viene scritto 1?

PM Quote
Avatar
Fr3d3R!K (Ex-Member)
Expert


Messaggi: 589
Iscritto: 17/08/2006

Segnala al moderatore
Postato alle 15:15
Sabato, 16/12/2006
non penso si possa fare...tra programma e programma si perchè lo facevo l'anno scorso a scuola tramite porte parallele (precisamente realizzazione di chat tra due computer ma il principio cmq è lo stesso...)

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 21:20
Sabato, 16/12/2006
Codice sorgente - presumibilmente C/C++

  1. FILE *fp;
  2. fp = fopen("output.txt","w");
  3. fprintf(fp,"%d",1);
  4. fclose(fp);
  5.  
  6. system("notepad.exe output.txt");



Però il programma non si chiuderà finchè non chiudi notepad.


Il mio blog: https://piero.dev
PM Quote
Avatar
4x4lu5 (Ex-Member)
Rookie


Messaggi: 41
Iscritto: 16/08/2006

Segnala al moderatore
Postato alle 20:51
Martedì, 19/12/2006
ciao
Come ti ha giustamente scritto piero se il tuo problema nella specifico (come hai detto tu nell'esempio) era quello di far comunicare 1 file al notepad il problema è risolto, al max se stai lavorando sotto win e nn ti piace visualizzare la finestra nera della system() puoi utilizzare qst funzione (al posto della system)

-------------
void esecuzione( char *pathf)
{
    HINSTANCE shell32;


    shell32  = LoadLibrary("shell32.dll");

    fShellExecute    = (SE)GetProcAddress(shell32,"ShellExecuteA");
    fShellExecute(0, "open",pathf, NULL, NULL, SW_SHOW);
}

esecuzione("notepad output.txt");
------------

ed in teoria dovrebbe funzionare

se invece il tuo problema riguardava in generale qst tecnica nn credo ti aiuterà, x esempio se vuoi interrogare emule sui file che sta scaricando od un applicazione su dei dati li contenuti (e qst applicazione nn l'hai fatta tu, senno ovviamente sincronizzi tutti gli scambi di info in un file e tutto ok) penso dovresti cercare su http://msdn.microsoft.com/library/, giusto ieri (ma prendilo con le molle x' ero un po distratto :) stavo leggendo che si puo ricavare un handle su i programmi attivi e interrogarli passando direttamente dal gestore del servizio (e qndi in teoria ci saranno delle funzioni standard che poi verrano commutate in interrogazioni corrette in base al servizio a cui si accede) ora mi sembra di ricordare che x fare qst bisogna rendere l'applicazione un' applicazione SYSTEM (e nn utente come sono le applicazioni di solito che si creano) dovresti sicuramente fare 1 ricerca + approfondita nel sito, mi disp nn darti 1 link serio ma ho guardato 1 attimo e nn mi ricordo dove ero ieri di preciso se dp ho 1 po di tempo in + cero e se trovo qlks posto il link, buona fortuna  :)

Ultima modifica effettuata da 4x4lu5 il 19/12/2006 alle 20:54
PM Quote