Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
17/09/07 16:24
Cross
ciao raga.
come faccio a sapere se il mio programma è stato aperto perchè ho cliccato due volte su un file che deve aprire il mio programma(e quindi lo aperto il file), oppure se l'ho aperto io cliccando 2 volte sul programma (.exe)?????
grazie

P.S.:possibilmente lo voglio sapere tramite un msgbox come è stato aperto un programma.
aaa
17/09/07 18:23
Il Totem
Se è stato aperto cliccando sul file, sicuramente avrà dei parametri a riga di comando, se invece è stato aperto manualmente no.
Vedi:
totem.altervista.org/appunti/…
per maggiori informazioni.
aaa
20/09/07 17:33
Cross
l'ho letto ma lo stesso non sono riuscito ad ottenere il percorso del file che si apre.
Me lo puoi speigare meglio oppure se mi dai del codice spiegandolo
grazie
aaa
21/09/07 12:50
Il Totem
Il file aperto è il primo parametro passato. Se CommandLineArgs è vuoto, vuol dire che non si è aperto niente.
aaa
21/09/07 15:30
Cross
quindi devo fare così per ottenere il percorso del file aperto senza che mi da errori:
if my.application.commandlineargs(0) = "" then
'lascio vuoto così non fa niente e continua il programma
else
percorsodelfile = my.application.commandlineargs(0)

così?
se no mi fai qualche esempio + facile o mi dai qualche codice?
grazie
aaa
23/09/07 13:53
Il Totem
Il codice che hai scritto contiene un errore concenttuale. Controllando che il primo parametro non sia vuoto stai implicitamente supponendo che esiste almeno un parametro, il che non può sempre essere vero. Quello che tu devi fare è controllare SE esiste qualche parametro:
Dim Cmd As Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Application.CommandLineArgs

'Se ci sono parametri, allora il programma è stato aperto da file
If Cmd.Count > 0 Then
  percorsofile = Cmd(0)
Else
  'niente
End If
aaa