Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - UnauthorizedAccessException
Forum - C# / VB.NET - UnauthorizedAccessException - Pagina 2

Pagine: [ 1 2 3 4 ] Precedente | Prossimo
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 23:18
Lunedì, 31/01/2011
Premendo invio usi la funzione PLAY che trovi in grassetto usando il tasto destro

se però le selezioni e fai tasto destro-->Apri (al posto di PLAY o AGGIUNGI A ELENCO DI WMP) ti apre solo l'ultima che è selezionata


P.S. usare StartUp e StartUpNextIstance potrebbe essere la soluzione...

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:34
Martedì, 01/02/2011
Forse dovresti modificare la stringa di comando che hai inserito nella chiave di registro shell/open. Se hai usato "path_applicazione '%1'", forse è per quello che ti passa solo il primo file selezionato.

PM Quote
Avatar
Phil93 (Normal User)
Pro


Messaggi: 85
Iscritto: 26/01/2011

Segnala al moderatore
Postato alle 22:48
Giovedì, 03/02/2011
Hai ragione, nella chiave di registro c'è '%1'. Dunque per aprire più file nella stessa istanza cosa devo mettere al posto di %1?
Grazie a tutti

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:12
Venerdì, 04/02/2011
Beh, %1 indica il primo parametro dopo il nome del programma... perciò %n indica l'n-esimo. Comunque non dire come si potrebbe comportare usando più sequenze %n quando mancano dei parametri. Prova.

PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 15:25
Venerdì, 04/02/2011
Sfogliando il mio registro di sistema ho notato che ha programmi che possono ricevere più file come parametri, ad esempio WMP, si usa "%L" anzichè "%1".

PM Quote
Avatar
Phil93 (Normal User)
Pro


Messaggi: 85
Iscritto: 26/01/2011

Segnala al moderatore
Postato alle 16:37
Venerdì, 04/02/2011
Anche io avevo visto il "%L", ho provato ma mi passa sempre un file. Ho cercato in internet e ho visto che "&L" passa comunque un file solo...
Ho provato pure a mettere per esempio "%1" "%2" "%3" ecc., commandlineargs.length mi restituisce il numero giusto, ma dopo il primo path mi vengono passate stringe vuote...

Aggiungo che, nell'evento application.startup, e.commandline mi restituisce la stessa cosa

Ultima modifica effettuata da Phil93 il 04/02/2011 alle 16:49
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 17:04
Venerdì, 04/02/2011
ho fatto qualche prova ed effettivamente sembra che non ci sia un modo "nativo" per aprire più files con la stessa applicazione simultaneamente.
Detto questo si può pensare ad un workaround, e quello che sto per dire è il metodo che usano tutti i programmi che necessitano di aprire più files contemporaneamente, come ad esempio foxit reader.

Quando si aprono files multipli windows non fa altro che aprire N istanze del programma che gestisce quel tipo di file ognuna di esse con il percorso di un file passato da riga di comando.

Per ottenere l'effetto di "un programma" tanti files è sufficente che il programma capisca che è stato lanciato con un argomento da riga di comando, cerchi un'altra istanza di se stesso tra i processi in esecuzione, se lo trova gli manda il percorso del file con cui è stato lanciato attraverso una named pipe: http://www.switchonthecode.com/tutorials/dotnet-35-adds-na ...

se il processo viene trovato, dopo avergli "trasmesso" il percorso, semplicemente si chiude automaticamente e passa il focus alla prima istanza.

so che sembra complicato, ma se non vado errato sono max 30 righe di codice :)


Ultima modifica effettuata da HeDo il 04/02/2011 alle 17:06
PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 18:32
Venerdì, 04/02/2011
Testo quotato

Postato originariamente da giovannibart91:
... gestisco gli eventi Startup e StartupNextInstance, ... prova così, nel parametro "e" di questi due eventi c'è pure la proprietà "CommandLine" fatta apposta ;)



secondo me aveva ragione giovanni!
intercettiamo l'evento StartupNextInstance e creiamo un array con i parametri passati ad ogni istanza dell'applicazione.

PM Quote
Pagine: [ 1 2 3 4 ] Precedente | Prossimo