Newsgroup: it.comp.programmare.win32
Titolo: Lanciare un exe da software

Come si fa a lanciare un eseguibile da un altro programma?


_execl, _wexecl, _execle, _wexecle, _execlp, _wexeclp, _execlpe, _wexeclpe,
_execv, _wexecv, _execve, _wexecve, _execvp, _wexecvp, _execvpe, _wexecvpe,
_spawnl, _wspawnl,  _spawnle, _wspawnle, _spawnlp, _wspawnlp, _spawnlpe,
_wspawnlpe, _spawnv, _wspawnv, _spawnve, _wspawnve, _spawnvp, _wspawnvp,
_spawnvpe, _wspawnvpe, system, _wsystem

Come si fa a lanciare un eseguibile da un altro programma?
ShellExecuteEx


CreateProcess
Bob Rock


...Mettetevi d'accordo! :-)
Maurus

 Come si fa a lanciare un eseguibile da un altro programma?
CreateProcess() ti da` la maggiore possibilita` di controllo;
ShellExecute() o ShellExecuteEx() ti forniscono qualche funzionalita` in
piu`, "simulando" cio` che farebbe la shell se gli passassi un file (che
sia un eseguibile, un documento, un link...).
--
Lorenzo

...Mettetevi d'accordo! :-)
Considerato che siamo su un ng di programmazione Win32, io suggerisco
di usare la comoda API del sistema operativo ShellExecuteEx.
CreateProcess e` inutilmente complessa, se lo scopo e` solo quello di
lanciare un'applicazione.  Le varie opzioni offerte da "Dr.Dave" sono
da valutare in relazione al compilatore adottato, scritte cosi`
significano tutto e niente.

E se invece volessi lanciare uno script in php dal programma?
Saluti by Jaman

 Saluti by Jaman
system( ... )

 
Grazie ora mi documento e provo!
Saluti by Jaman

 di usare la comoda API del sistema operativo ShellExecuteEx.
io sono per _tspawnlp. ShellExecuteEx non sempre fa la cosa giusta, e 
non serve a far partire processi
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.21. C, C++ and ASM developers
                              and beta testers are welcome!

non serve a far partire processi
Non diciamo cazzate, per cortesia.

system( ... )
???

 Non diciamo cazzate, per cortesia.
io so come funziona la shell di Windows, tu dubito. Fidati di me (e se 
non ti fidi, leggi cosa dice la guida su hProcess). ShellExecuteEx non 
fa altro che quello che dice il suo nome. So che a te piace e conviene 
ignorare, ma io sono maledetta da conoscenze sufficienti ad essere piů 
prudente. Riassumendo: non č "un'API di sistema", nč crea processi. La 
risposta giusta č stata data da Dr. Dave


La risposta giusta è stata data da Dr. Dave
Non lo e`.


Non portabile? Non negli altri? A cosa ti stai riferendo?
Bob Rock

 sull'argomento
no, ciccio. Ho disassemblato una dozzina di DLL e scritto programmi che 
tu non riterresti nemmeno possibili. Documentato strutture con un campo 
di tipo unit contenente una trentina di possibili rappresentazioni, sia 
dal lato che la spediva sia da quello che la riceveva, tutto per sapere 
dove la funzione X andava a trovare il parametro Y. E so leggere tra le 
righe del PSDK, mentre tu probabilmente ti bevi tutti quei punti in cui 
(stra)parla di "handle", senza nemmeno porti il problema. Ciononostante 
ne capisco comunque più di te su molte cose di alto livello, sempre per 
il fatto che io, quando mi gira, mi pongo il problema - non solo quando 
il cliente tuona perchè vuole la mia testa su un piatto d'argento


nonostante quello che potrebbe dire il mio nick, sono Juliet. Ah, quasi 
dimenticavo, Bob Rock ha scritto: 

non sa cosa dice. Personalmente, conosco almeno tre runtime diverse che 
supportano la famiglia di chiamate spawn. Non č standard, ma in Unix la 
si scrive in tre righe di codice, quindi chissenefrega. Comunque, LaFo, 
una bella risposta ad una contestazione di uso improprio di un qualcosa 
come ShellExecuteEx


 di tipo unit contenente una trentina di possibili rappresentazioni, sia
cut...
"Ho visto cose che voi umani non potete nemmeno immaginare..."
Scusami ma era piu' forte di me!
Maurus

Non portabile? Non negli altri? A cosa ti stai riferendo?
Mi sto riferendo al fatto che una funzione tipica di 1, 2, 3 run-time
non e` una funzione portabile, in assoluto.  Per esempio, con C++
Builder potrei non poterla usare, con Delphi potrei non poterla usare,
con Visual Basic potrei non poterla usare, con Python potrei non
poterla usare, and so on.  Visto che ci troviamo in un gruppo che
parla di Win32 e visto che e` contemplato che si possa programmare in
una vastita` di ambienti molto eterogenea, e` bene che la soluzione
sia piu` portabile possibile, in questa vastita` di ambienti.  L'API
del sistema operativo e` chiamabile da qualsiasi ambiente supporti
l'aggancio alle DLL di Windows e risolve il problema.

come ShellExecuteEx
L'uso di ShellExecuteEx e` assolutamente appropriato per il caso
citato dall'OP.  Qualsiasi considerazione aggiuntiva tu possa fare,
onestamente, interessa poco ed espressa in questi termini ti porta ad
un passo dal mio kill-file.

il cliente tuona perchè vuole la mia testa su un piatto d'argento
ROTFL ;) Ti lascio perdere, sei in preda a delirio di onnipotenza.

 ROTFL ;) Ti lascio perdere, sei in preda a delirio di onnipotenza.
Ah... negli altri riesci a riconoscerlo... ;-PPP
-- 
Luc.

 genere, più informata dei più.
Non che importi per quello che è l'oggetto del post in questione .... ma di
che nazionalità sei???
Hai un modo curiosissimo di esprimerti e mi sento di sbilanciarmi dicendo
che non sei italiana .....
Bob Rock

 poterla usare, and so on.
Chi l'ha detto che non puoi usarla da C++ Builder, Delphi, VB?????
Ti ricordo che il runtime del C non deve per forza essere linkato
staticamente nel tuo eseguibile.
Bob Rock

 dicendo che non sei italiana .....
no, è intenzionale :-) è ormai anni che scrivo così, ma non m'aveva mai 
chiesto chiarimenti nessuno, finora. Non credevo di dare un'impressione  
simile, comunque :-)


 ROTFL ;) Ti lascio perdere, sei in preda a delirio di onnipotenza.
io lascio perdere te. Hai iniziato a mettere le faccine. Di qui in poi, 
entri in modalità scimpanzè. E rispondendo con un ROTFL e una faccina a 
questa frase, o a una qualsiasi altra parte del mio post, non farai che 
confermarlo. Se è un bot, è scritto male. Se sei proprio tu, buona vita



Uhaauuu... ma tu non fai nulla tutto il giorno, vero?!? ;-)) Beata te!!!!
Addirittura di scarichi i compilatori di 47Mb e te li installi solo per
controllare che abbiano una chiamata...
E stai a cercare come un'assatanata su internet nomi di robba mai sentita e
che mai nessuno ha usato (se non forse chi l'ha creato)
RSXNT???
LCC???
Ma che sono??? Dove li hai trovati???
Sarò io ad essere ignorante in materia... ha dimentico che parlo con una che
è "più informata dei più"!!!
;-)))))))
Dario

staticamente nel tuo eseguibile.
E io ti ricordo che non tutti i programmatori sono perversi.
Mi spieghi, di grazia, perche` dovrei usare una funzione che e`
presente nel run-time di un particolare compilatore (che, tra l'altro,
potrei anche non possedere) se posso usare un'API del sistema
operativo che svolge la stessa funzione ?
-- 
Andrea Laforgia
#exclude <windows.h>

io lascio perdere te. Hai iniziato a mettere le faccine. 
Eh be`, in certi casi si ride per non piangere ;-)
Visto che stai sfogando le tue ire da donnina frustrata nel gruppo,
senza portare argomentazioni tecniche sufficienti, ritengo sia il caso
di premere il fatidico bottoncino "Ignore Thread".  Ti fara` piacere
sapere che hai segnato un nuovo record nella high score dei miei
"destinati al kill-file" ;-)


Ma che sono??? Dove li hai trovati???
Questo lo conosco anche io... è una famoso compilatore C...
Se tu non l'hai mai usato è un altro paio di maniche :)
http://www.cs.princeton.edu/software/lcc/
http://www.cs.virginia.edu/~lcc-win32/
--
Rhymes
news://it.comp.lang
The italian Python (and other languages) NG

> E io ti ricordo che non tutti i programmatori sono perversi.
Qua non si sta discutendo della perversione di certe scelte ma ciň che č
corretto e di ciň che non lo č.
E quello che hai detto non lo č.
Bob Rock


Ti ringrazio per l'informazione. In effetti non sono mai stato attirato da
queste soluzioni free o comunque a linea di comando...
Da quando hanno introdotto gli IDE non li ho più abbandonati!
Inoltre non sono il tipo che si va a cercare tutti i compilatori possibili:
ho provato "solo":
Visual C++
Borland C++
CBuilder
Delphi
Turbo Pascal
Turbo C
Visual Basic (mettiamolo tra i compilatori, va!!)
in pratica solo quelli più "in voga"...
Dario
PS. Ha dimenticavo il GCC su Solaris!!

Da quando hanno introdotto gli IDE non li ho più abbandonati!
LCC-Win32 è un IDE...


 score dei miei "destinati al kill-file" ;-)
terza faccina. Strizza quell'occhio finchè mostra ancora differenza tra 
palpebra chiusa e palpebra aperta, approfittane


 Ma che sono??? Dove li hai trovati???
LCC me l'ha fatto conoscere un certo Xaero che, se c'è, batta un colpo.  
DigitalMars me l'ha portato un Serpe. L'Intel e il Watcom sono famosi e 
di MinGW e Cygwin avrai sicuramente già sentito parlare. Il Comeau poi, 
è una leggenda. Ci sarebbe stato l'Edison ma quello, a noi, popolo bue, 
non lo vendono nemmeno, figuriamoci provarlo. E' l'RSXNT che mi mancava 
proprio. Viva Google :-)
