Accedi per seguire   
Seguaci 0
spiug

[delphi] Aprire Un Programma Dal Prog

12 messaggi in questa discussione

Visto che io saprei usare Delphi...

...chiedo a voi:

c'è un comando del tipo esegui file?

una cosa del genere --> open(percorso del file)

con funzione simile al comando html <href="nomefile.estensione">

Insomma avete capito? Cliccando su un bottone generato dall'eseguibile si apre un determinato programma??

Se no, cosa posso usare per fare una cosa del genere, anche con un altro linguaggio intendo!!

GRAZIE..

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

YEAAAHHH!

Questo è il mio campo!!!

Innanzi tutto aggiungi ShellAPI alla clausola uses e poi scrivi questo codice per avviare il programma...

ShellExecute(hWnd: HWND; Operation: PAnsiChar; Filename: PAnsiChar; Parameters: PAnsiChar; Directory: PAnsiChar; ShowCmd: Integer);

Esaminiamo i parametri...

hwnd - l'handle dell'applicazione da cui parte il comando: puoi indicare Application.handle per assegnare l'handle del tuo programma

Operation - qui devi mettere il "verb" dell'operazione... Il verb è il parametro da inviare all'eseguibile che si sta richiamando mediante l'invio della linea di comando

Filename, Parameters, Directory - si spiegano da soli... il primo contiene il nome del file, il secondo i parametri aggiuntivi, il terzo la cartella in cui si trova il file da eseguire

ShowCmd - può assumere il valore 0 (invisibile) o 1 (visibile normale), oppure una costante del tipo "SW_" (vedi l'help di Win32 e di Delphi).

Supponendo che tu voglia eseguire il programma c:\test\prova.exe, scriverai...

ShellExecute(Application.Handle, 'open', 'c:\test\prova.exe','','',1);

Ovviamente vi possono essere usi diversi di questo comando.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Acciderbolina Zip, mi hai già risposto, e in maniera così accurata!!

Grazie!! Ora vado a nanna, ma domani se ho tempo provo quello che mi hai detto!!

Mi sà che la prossima volta dovrò postare qualcosa di più difficile :P ...è incredibile come ogni volta uno di voi espertissimi mi risponda così on fly!!

:):P

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Miiiiiiiiiiiiiiiiiiii Matteo, ma chi sei!!!

Manco faccio in tempo a controllare il forum che tu hai gia' risposto :)

Bene, Spiug, io non dico altro che: Ascolta Matteo!!!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Avevo Delphi aperto in quel momento :)

Tuttavia aggiungo un suggerimento...

ShellAPI è una unit mostruosamente grande e un po' ocmplessa da usare. L'alternativa è l'uso della google.jpgJedi Code Library, nella quale è inserita la unit JclShell. Questa unit mette a disposizione una serie di funzioni alternative alla ShellExecute tradizionale; una di queste è ShellExecEx, nella quale gli altri parametri oltre "Filename" sono opzionali. Pertanto, usando questa funzione, nell'esempio sopra citato ti basterebbe scrivere:

ShellExecEx('C:\Test\Prova.exe');

.. e basta.

Se poi ti interessa sapere come fare a lanciare un'applicazione dal tuo programma e attendere la fine dell'esecuzione dell'applicazione lanciata, non ti basta che pagar... ehm... rispondere a questo messaggio :P

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Bene, ho appena provato il tuo codice e funziona alla perfezione!!

Ma, se io voglio fargli aprire la connessione, che estensione devo mettere? E poi non sò il percorso (??connessioni di rete??ma questo l'ho risolto creando un collegamento, che estensione ha questo?, se ce l'ha??)

In pratica volevo creare un bottone che mi faceva partire la connessione per internet, un programmino per visualizzare la connessione(netmeter), e qualcun altro programma (Msn, firewall nel caso non siano aperti!!)!!

Grazie e complimenti Zip per la semplicità delle spiegazioni e la tua enorme conoscenza!! :)

Un'altra domanda, ma per creare i tuoi programmini che linguaggio usi? Con che piattaforma?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Bene, ho appena provato il tuo codice e funziona alla perfezione!!

Ma, se io voglio fargli aprire la connessione, che estensione devo mettere? E poi non sò il percorso (??connessioni di rete??ma questo l'ho risolto creando un collegamento, che estensione ha questo?, se ce l'ha??)

Non ho capito...

Intendi cliccare un bottone e far partire il browser verso una pagina?

Se sì:

ShellExecute(Application.Handle,'open','http://www.wininizio.it/','','',1);

In pratica volevo creare un bottone che mi faceva partire la connessione per internet, un programmino per visualizzare la connessione(netmeter), e qualcun altro programma (Msn, firewall nel caso non siano aperti!!)!!

In questo caso devi conoscere il percorso di ciascun eseguibile, a meno che non si tratti di applicazioni residenti nella cartella C:\Windows o C:\Windows\System32. In tal caso basta usare anche il solo filename dell'eseguibile (es. "notepad.exe" per il Blocco note).

Un'altra domanda, ma per creare i tuoi programmini che linguaggio usi? Con che piattaforma?

115513[/snapback]

Secondo te? :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Secondo te? :P

115516[/snapback]

Ah...

allora serve veramente a fare qualcosa di buono!!

Intendevo per far partire una connessione dalla cartella "Connessioni di rete", chiedevo se fosse quello il percorso da mettere (cioè Connessioni di rete\nomeconnessione.estensione_se_c'è :) )

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
ciao.

dai un'occhiata anche a http://www.delphi3000.com

115536[/snapback]

Ottimo!! Peccato che sia in italiano...e poi se guarderei la la soluzione dei miei problemi lì, lascerei Zip e Prozac a rigirarsi i pollici!! :)

Scherzo, vi maltratterò il meno possibile, solo quando (e se) avrò bisogno di sapere informazioni dettagliate sull'utilizzo di Delphi!!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Il consiglio di albirosso è validissimo: Delphi 3000 è una fonte inesauribile di articoli (ce ne sono un paio scritti anche da me). L'unico neo è che per poterlo utilizzare pienamente bisogna registrarsi e pagare.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Il consiglio di albirosso è validissimo: Delphi 3000 è una fonte inesauribile di articoli (ce ne sono un paio scritti anche da me). L'unico neo è che per poterlo utilizzare pienamente bisogna registrarsi e pagare.

115550[/snapback]

Già, pagare...è l'ultima cosa al mondo che farei tramite internet per un servizio su internet!!

Allora ho capito che non ho altro che voi, voi come salvezza!! (B)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un utente registrato per partecipare

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!


Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.


Accedi Ora
Accedi per seguire   
Seguaci 0