PDA

Visualizza la versione completa : [delphi]eseguire un file


niquesca
31-07-2003, 09:51
Salve!


In un programma ho inserito una listview, con delle icone, ogni icona
è collegata ad un file, cliccando due volte sull'icona vorrei far eseguire l'applicazione, che sia word, o altro...Non posso cambiare componente...
Sapete come posso fare?


grazie

Monique

alka
31-07-2003, 10:00
Devi utilizzare la funzione API ShellExecute, dopo aver aggiunto la unit ShellAPI alla clausola 'uses' della unit in cui devi richiamare quella funzione.

La funzione ShellExecute ti permette di lanciare un programma oppure di aprire un documento eseguendo l'applicazione associata.

Ad esempio, supponiamo di dover aprire una pagina Web:


ShellExecute(Application.Handle, 'open', 'http://www.abls.it',
nil, nil, SW_SHOWNORMAL);

Questo esempio mostra l'operazione da effettuare sul file (in questo caso, sull'indirizzo Internet), cioè open, passando l'handle dell'applicazione chiamante (Application.Handle) e la modalità di visualizzazione della finestra (SW_SHOWNORMAL) che potrebbe essere massimizzata, minimizzata, ecc.

Ti basta sostituire l'indirizzo Internet con un percorso del documento da aprire (che dovresti avere già memorizzato nella tua applicazione, da qualche parte) e il gioco è fatto. Per alcuni tipi di file, puoi sostituire l'operazione open con un'altra, ad esempio print (il meccanismo funziona solo se il comando è supportato ed è stata installata un'applicazione in grado di portarlo a termine).

Ciao! :ciauz:

alepio
31-07-2003, 11:35
con la stessa shell si può anche aprire una connessione ad accesso remoto????

alka
31-07-2003, 16:56
No, tale funzione serve solo per lanciare file eseguibili (che siano applicazioni, batch, script, ecc.) oppure operazioni registrate che possono essere effettuate sui documenti.

alepio
31-07-2003, 17:07
io per il momento ho trovato questa

shellExecute(application.Handle,'open','rasphone', nil,nil,sw_shownormal);

funziona con 2000pro ed anche con NT!!!!


che ne pensi??

alka
31-07-2003, 17:12
Penso che probabilmente hai trovato il file eseguibile che permette di effettuare la connessione!

Io sinceramente pensavo che quella finestra di dialogo fosse incorporata in qualche libreria e che quindi non fosse possibile estrarla a meno di utilizzare la RunDll.

Meglio così! :ciauz:

niquesca
03-08-2003, 23:51
Ok provato quello fornito da alka funziona..

ciao ciao
e grazie mille

alepio
04-08-2003, 08:56
hai provato il file execute con il sito interet oppure con il collegamento ad accesso remoto

alka
04-08-2003, 09:53
Originariamente inviato da alepio
hai provato il file execute con il sito interet oppure con il collegamento ad accesso remoto

Richiamare la funzione ShellExecute utilizzando un sito Internet permette di avviare il browser predefinito affinchè si occupi di visualizzare tale sito.
La connessione tramite Accesso Remoto avviene a seconda di quanto definito all'interno delle Impostazioni Internet nel Pannello di Controllo di Windows.
Non si tratta comunque di un'istruzione che ha lo scopo di avviare Internet, ma solo di visualizzare l'indirizzo passato come parametro.

Se le Impostazioni Internet non prevedono la connessione automatica, allora tale connessione deve essere effettuata manualmente.

Loading