2012-03-04 10 views

risposta

3

Se si distribuisce l'app. usando Java Web Start, un interesse per i tipi di file può essere dichiarato nel file di avvio. Vedere la demo. of the file services, che ..

..prompts all'utente di associare file di estensione .zzz (semplicemente un tipo di file improbabile a scontrarsi con le associazioni di file già esistenti) di tipo di contenuto text/sleepytime. ..

Quando l'utente fa doppio clic su un file .zzz, dovrebbe aprirlo nell'app. In realtà, la parola 'richiede' non c'è tutta la storia. Se si avvia la versione in scatola di sabbia, verrà richiesto di associare il tipo di file. La versione attendibile non richiede.

Per aggiungere più controllo utente al processo, cercare lo IntegrationService introdotto in 1.6.0_18 (non ho ancora una demo di quello). Potresti eseguirlo all'avvio, dopo aver controllato con l'utente.

2

questo dovrebbe essere fatto durante l'installazione. come pensi di permettere all'utente di installare la tua applicazione?

devi capire a questo punto che hai reso le cose molto più complicate. la registrazione delle estensioni di file significa interferire con il registro. cosa succede se l'utente non vuole più la tua applicazione? o sposta il file che avvia la tua applicazione?

dovrai scegliere un installatore. Ecco una domanda a riguardo: https://stackoverflow.com/questions/3767/what-is-the-best-choice-for-building-windows-installers

e quindi dovrai imparare il linguaggio del creatore dell'installatore. ecco come ciò che stai chiedendo è fatto in nsis. ricorda che lo script si occupa di domande come "se l'utente disinstalla la mia applicazione, e non ho cambiato le associazioni di file al momento dell'installazione, dovrei quindi rimuovere queste associazioni di file durante la disinstallazione?" quindi è un po 'lungo. eccolo: http://nsis.sourceforge.net/File_Association

forse può essere fatto in un modo più semplice in un altro creatore di installazione.

tuttavia, in questo esempio, si fornisce la funzione di registro di nsis il comando di avvio per l'applicazione, quindi aggiunge% 1 ad esso nel comando di avvio dell'associazione file di Windows. quindi dovresti dargli il comando di avvio

javaw -cp installpath\yourcode.jar package.name.MainClassName 

e quindi le cose dovrebbero funzionare. questo richiederà sicuramente degli esperimenti e dovrai essere abbastanza sicuro su come avviare la tua applicazione dalla riga di comando.

buona fortuna!

+0

Grazie mille per la risposta. Un'altra cosa è preoccupante: come sapere quale file ha lanciato esattamente la mia applicazione? Come posso leggere i dati a riguardo in Java? – dario111cro

+0

Oh, sembra che il file sia stato inviato all'app in args. args [0] è "-open", mentre args [1] contiene il percorso del file che ha lanciato l'app. Grazie per il tuo aiuto :) – dario111cro

+0

@ dario111cro prego :) quale tipo di distribuzione hai scelto? sei andato con nsis? – davogotland

Problemi correlati