|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2008
Messaggi: 56
|
[C#] Aiuto - come associare file ad applicazione windows forms??
Ciao a tutti, ho un'applicazione che legge/apre/visualizza dei file di testo (e fa qualche altra cosa...). Funziona tutto bene, ma c'è un piccolo neo: vorrei che fosse possibile associare l' applicazione a un'estensione di file, come si fa con tutti gli altri programmi windows.... ovvero vorrei fare in modo che cliccando su un file di testo, mi si apra il file all'interno dell'applicazione.
Ad intuizione mi viene da pensare che forse c'è un modo per indicare all' applicazione che essa può avere un parametro di ingresso (ad esempio il path del file) e poi fare il resto una volta avviata... solo che non ho idea di come questo possa essere fatto!! Ho cercato su google, ma niente.... purtroppo non so nemmeno "cosa" cercare, non è facile sintetizzare la domanda Qualche anima pia riesce ad illuminarmi sull'argomento? Grazie mille in anticipo.. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Nov 2007
Messaggi: 88
|
Spero che ti siano utili, in breve mi sembra di aver capito che non esistano funzioni apposite ma devi modificare delle chiavi di registro
http://stackoverflow.com/questions/6...xecutable-in-c http://stackoverflow.com/questions/2...-application-c |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Aug 2008
Messaggi: 56
|
Grazie mille, mi butto subito nella lettura
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2008
Messaggi: 56
|
ok, alla fine credo di aver capito come fare l' associazione, ma il mio problema non era veramente questo: il mio problema consiste più nella seconda parte della questione: se ad esempio la mia applicazione ha l' entry point nel sorgente Program.cs, nel main come faccio a dirgli
"guarda che ti è stato specificato di aprire un file, preleva il percorso e aprilo!"...? Questo è il mio vero problema.... non ho idea di come windows dica all' applicazione che vorrebbe aprire tramite di essa un file... e catturare quindi questa richiesta una volta dentro all'applicazione.... Spero di essermi spiegato meglio questa volta.. |
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Apr 2010
Messaggi: 56
|
Quote:
Codice:
Eseguibile.exe filediinput.boh Codice:
static void Main(string[] args)
{
}
Dai un occhiata a msdn. Ultima modifica di lock cmpxchg8b %ebx : 17-07-2010 alle 02:12. |
|
|
|
|
|
|
#6 | |
|
Member
Iscritto dal: Aug 2008
Messaggi: 56
|
Quote:
Inoltre, nel caso che ho prospettato io, non sarei io a passare personalmente il parametro di ingresso all' applicazione, quindi mi chiedevo se windows lo fa in quel modo oppure se quando tenta di aprire un file con un'applicazione utilizza un altro metodo per fornirgli il parametro di ingresso... Inizio ad avere il forte dubbio che la mia domanda non sia stata compresa...
|
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Aug 2008
Messaggi: 56
|
Ho provato a fare un paio di prove utilizzando il metodo statico GetCommandLineArgs() della classe Environment, visualizzando tutti gli elementi contenuti nell' array che restituiva il metodo all' avvio dell' applicazione, nei due casi:
- avvio normale dell' applicazione; - avvio dell' applicazione da click del file associato ad essa. Nel primo caso l' array di parametri contiene un solo argomento, ovvero il path completo (incluso il nome) dell' eseguibile dell' applicazione. Nel secondo caso l' array contiene 2 parametri, il path dell' eseguibile per primo e il path del file come secondo argomento. Mistero risolto: Windows passa all' applicazione il path del file allo stesso modo di come lo faremmo noi manualmente da linea di comando. In effetti non mi aspettavo che la soluzione fosse così semplice!! Grazie in ogni caso per le risposte Ciao. |
|
|
|
|
|
#8 | ||
|
Member
Iscritto dal: Apr 2010
Messaggi: 56
|
Quote:
Quote:
Codice:
@="\"C:\\Program Files\\EmEditor\\EMEDITOR.EXE\" \"%1\"" Ti consiglio di leggere quello che posta e linka la gente prima di fare queste affermazioni. |
||
|
|
|
|
|
#9 | |
|
Member
Iscritto dal: Aug 2008
Messaggi: 56
|
Quote:
Solo un appunto: non c'è bisogno di alzare i toni, io ero molto calmo in quello che lo dicevo, e non ho dato dello stupido a nessuno - e seppur velatamente, tu l'hai appena fatto con me. Si è trattato semplicemente di un'incomprensione: capita tra persone umane. ciao |
|
|
|
|
|
|
#10 | |
|
Member
Iscritto dal: Apr 2010
Messaggi: 56
|
Quote:
Però la prossima volta dai un occhiata ai link. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:56.





















