PDA

Visualizza la versione completa : [vb] Lanciare un programma da un altro già aperto ed interagirci


lyllo
22-07-2002, 12:40
ciao,
il titolo del topic dice già tutto:

che codice devo usare per lanciare un programma pippo.exe da un programma già in funzione SENZA conoscerne il path assoluto...

cioè voglio lanciare pippo.exe che può stare ovunque nel pc.

(ditemi il codice preciso a partire dalla dichiarazione della sub, se vi è possibile, sennò non cavo un ragno dal buc0 :gren: )

e infine: una volta lanciato il programma esterno come facio a far interagire i due?

cioè se il primo memorizza delle info ed il secondo contiene, che ne so, una lista di nomi, come faccio ad importare un nome in particolare in un controllo del precedente programma?

main.exe --> apre pippo.exe --> lista nomi clicco e --> importo dato in main.exe

:ciauz:

conto su di voi geniacci!

jabjoint
22-07-2002, 12:58
Non so quanto sia semplice io non saprei farlo!
Se qualcuno lo sa si faccia avanti è interessante e può essere molto utile.

jabjoint
22-07-2002, 12:59
Forse leggendo il database...
bho.. è una cazzata?

lyllo
22-07-2002, 13:10
se non lo sai vattene l'idea è mia e me la cucco io :gren:

che ti vuoi leggere dal database?

vonkranz
22-07-2002, 13:26
La cosa puo' essere fatta in vari modi, eccone due:
-Tramite il protocollo DDE
Questo implica pero' che le due applicazioni siano attive sulla stessa macchina per via del fatto che questo protocollo utilizza la memoria condivisa.
-Tramite Winsock
Non ci sono le limitazioni legate al DDE.

Quello che volete fare implica che le due applicazioni siano contemporaneamente sia client che server (perche' devono sia ricevere che inviare).

All'interno di ciascun programma bisogna prevedere funzioni di ricezione, interpretazione e invio delle informazioni che vengono scambiate tra i due programmi.

In pratica lo schema e' questo:

prg1 -> invia dati

prg2 <- riceve dati

prg2 analizza i dati se sono coerenti (quindi se e' arrivato un msg gestibile) invia a prg1 la conferma della ricezione.

prg2 esegue la sequenza di operazioni legate al msg ricevuto.

prg2 (eventualmente) comunica a prg1 la fine dell'esecuzione (questo in caso di "cooperazione sincrona").

Tutti questi "passaggi" devono essere presenti in entrambe i programmi (perche' si presuppone che ci sia uno scambio di dati)

Vi prego :cry: non chiedetemi esempi!, non perche' io sia perfido ma perche' la cosa sarebbe lunga da fare e non e' detto che funzionino: nel senso che occorre mettere a punto correttamente i tempi di attesa del dialogo e altre cosette che portano via un sacco di tempo.

Tra l'altro la cosa, oltre che essere interessante, non e' particolarmente difficile da fare, e sicuramente puo' essere un buon esercizio per imparare.
Ciao.

@ lyllo:
Purtroppo con il problema che ti ho segnalato in pvt sono ancora in alto mare, ma non ti preoccupare, ce la faro'!

Ciao a tutti.

jabjoint
22-07-2002, 16:44
Guarda che cio' pensato mille volte!

jabjoint
22-07-2002, 16:48
Aspetta un attimo ma a te ti serve per due programmi fatti da te??
No no cosi' è semplie basta fare come dice vonkranz.
Il problema sta se è un applicazione esterna riuscire a prendere informazioni.

giuSp
22-07-2002, 18:41
...poi fare una cosa del genere, solo se le applicazioni sono scritte da TE!!quindi conosci tutti i metodi e le rispoettive funzioni di comunicazione!

...per un programma esterno.......se non supporta l' esportazione in OLE.....non c'è niente da fare!!!!!a meno ke tu non conosca qualke parametro ke salvi le informazioni su file!
Ex: winipcfg è quel programma che ti dice gli ip attivi. ebbene te lo puoi scordare di comunicare con lui per sapere gli ip attivi!ma esiste un parametro, cioè quello "bacth" che salva gli ip in un file!!
winipcfg /batch c:\pippo.txt.....
.............

c'è un' altro metodo.........
.....molto più complesso.......
...per esempio se volessi ricevere il contenuto di una textbox ke si trova su di un altro programma,... dovresti...
ottenere l' handle del programma, di seguito l' handle della textbox è poi il testo!!ma bisogna conoschere un casino di API!e ponso ke sia difficile..........
:ciauz:

lyllo
22-07-2002, 18:45
entrambi i prog sono MIEI
cioè scritti da me.

giuSp
22-07-2002, 18:56
niente di più facile allora......
...dimmi qualcosa più in particolare... e spero di darti una mano..:ciauz:

Loading