Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-07-2010, 00:16   #1
tomino87
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 Non so nemmeno se sono riuscito a spiegarmi correttamente qui!

Qualche anima pia riesce ad illuminarmi sull'argomento?

Grazie mille in anticipo..
tomino87 è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 00:38   #2
Mindflyer
Member
 
L'Avatar di Mindflyer
 
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
__________________
PC: Windows Vista SP2 Home Premium & Ubuntu Karmic Koala 9.10 | Intel DP35DP | Intel Core 2 Quad Q6600 | 2x2048 Kingston DDR2 667mhz DualChannel | XFX Nvidia GeForce 8500GT | Seagate Barracuda 7200.10 & 7200.12 500GB SataII | Acer AL1916W
Mindflyer è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 00:51   #3
tomino87
Member
 
Iscritto dal: Aug 2008
Messaggi: 56
Grazie mille, mi butto subito nella lettura
tomino87 è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 01:00   #4
tomino87
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..
tomino87 è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 01:09   #5
lock cmpxchg8b %ebx
Member
 
Iscritto dal: Apr 2010
Messaggi: 56
Quote:
Originariamente inviato da tomino87 Guarda i messaggi
"guarda che ti è stato specificato di aprire un file, preleva il percorso e aprilo!"...?
Se lo esegui in questo modo
Codice:
Eseguibile.exe filediinput.boh
allora
Codice:
static void Main(string[] args)
{
}
sarà un array con 1 elemento (filediinput.boh)

Dai un occhiata a msdn.

Ultima modifica di lock cmpxchg8b %ebx : 17-07-2010 alle 01:12.
lock cmpxchg8b %ebx è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 12:54   #6
tomino87
Member
 
Iscritto dal: Aug 2008
Messaggi: 56
Quote:
Originariamente inviato da lock cmpxchg8b %ebx Guarda i messaggi
Se lo esegui in questo modo
Codice:
Eseguibile.exe filediinput.boh
allora
Codice:
static void Main(string[] args)
{
}
sarà un array con 1 elemento (filediinput.boh)

Dai un occhiata a msdn.
So già come passare parametri di ingresso in quel modo... ma da quello che so, quel modo è adatto alle console applications, non alle forms applications.
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...
tomino87 è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 13:15   #7
tomino87
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.
tomino87 è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 13:58   #8
lock cmpxchg8b %ebx
Member
 
Iscritto dal: Apr 2010
Messaggi: 56
Quote:
Originariamente inviato da tomino87 Guarda i messaggi
So già come passare parametri di ingresso in quel modo... ma da quello che so, quel modo è adatto alle console applications, non alle forms applications.
Se tu avessi letto il link che ti ho postato avresti visto che funziona benissimo anche con le applicazioni Windows Forms.
Quote:
Originariamente inviato da tomino87 Guarda i messaggi
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...
Se tu avessi letto i link che ti ha postato Mindflyer avresti visto che i percorsi nel registro vengono salvati in questo modo:
Codice:
@="\"C:\\Program Files\\EmEditor\\EMEDITOR.EXE\" \"%1\""
Quel %1 viene sostituito con il file che hai cliccato, ed è un normalissimo parametro di ingresso.
Quote:
Originariamente inviato da tomino87 Guarda i messaggi
Inizio ad avere il forte dubbio che la mia domanda non sia stata compresa...
Ti consiglio di leggere quello che posta e linka la gente prima di fare queste affermazioni.
lock cmpxchg8b %ebx è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 19:00   #9
tomino87
Member
 
Iscritto dal: Aug 2008
Messaggi: 56
Quote:
Originariamente inviato da lock cmpxchg8b %ebx Guarda i messaggi
Se tu avessi letto il link che ti ho postato avresti visto che funziona benissimo anche con le applicazioni Windows Forms.

Se tu avessi letto i link che ti ha postato Mindflyer avresti visto che i percorsi nel registro vengono salvati in questo modo:
Codice:
@="\"C:\\Program Files\\EmEditor\\EMEDITOR.EXE\" \"%1\""
Quel %1 viene sostituito con il file che hai cliccato, ed è un normalissimo parametro di ingresso.

Ti consiglio di leggere quello che posta e linka la gente prima di fare queste affermazioni.
Hai sicuramente ragione.
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
tomino87 è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 19:19   #10
lock cmpxchg8b %ebx
Member
 
Iscritto dal: Apr 2010
Messaggi: 56
Quote:
Originariamente inviato da tomino87 Guarda i messaggi
Hai sicuramente ragione.
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
Hai ragione, non ce n'è bisogno.
Però la prossima volta dai un occhiata ai link.
lock cmpxchg8b %ebx è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Nutanix rende disponibile Azure Virtual ...
Il padrino del deep learning avverte: gl...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Oppo Find X10, X10 Pro Max e X10 E: conf...
Dal microscopio all'IA: un cervello di i...
Cyberpunk 2077 arriverà su Battle...
Altro che divieto: interi pallet di GeFo...
QNAPTS-h966TX, il NAS per chi fa editing...
Il trucco semplicissimo per installare W...
Apple rinvia due novità di iOS 27...
Una memoria ferroelettrica raggiunge 10 ...
Honor Magic 9, Pro Max e Super Edition: ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:16.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v