View Full Version : [c#]Come gestire l'attivazione di file
dyablo96
11-12-2013, 20:28
buona sera a tutti, ho un quesito per voi che siete più esperti di me.
io vorrei fare in modo che la mia applicazione wpf si apra in automatico quando si fa doppio clic su un file con un formato particolare, ad esempio : un utente fa doppio clic su un file .txt e si apre la mia applicazione che legge e scrive su quel file.
ho trovato del materiale online, soprattutto su msdn.
però non ci ho capitò granché e speravo che qualcuno fosse così gentile da spiegarmi :D .
il link è questo : http://msdn.microsoft.com/it-it/library/windows/apps/hh779669.aspx
poi al suo interno ci sono vari sotto link per gli altri argomenti.
in teoria è questo che mi serve per il mio progetto.
però già al primo passaggio mi blocco perchè non riesco a capire dove trovare il manifesto del pacchetto, loro dicono solo : Fai doppio clic per aprire package.appxmanifest in Esplora soluzioni.
qualcuno può aiutarmi ??
dyablo96
12-12-2013, 20:30
up
[Kendall]
13-12-2013, 16:12
Il link che hai postato riguarda le applicazioni Windows Store, non le applicazioni desktop.
Nel tuo caso devi andare sul file in questione, clickare su "Apri con" e associare quel file con la tua applicazione (questo è il metodo più veloce e semplice).
Fatto questo devi reperire l'indirizzo del file cliccato nell'evento App_Startup della tua applicazione WPF.
dyablo96
13-12-2013, 16:16
ok, grazie della spiegazione :) .
vorrei chiederti però se è possibile automatizzare il primo passaggio, cioè se l'utente possa evitare di fare "apri con" e che apra il file automaticamente con la mia applicazione??
dyablo96
15-12-2013, 11:39
up :D
dyablo96
16-12-2013, 16:29
up
devi inserire l'associazione nel registro di windows, dai un'occhiata per esempio quà
http://www.java2s.com/Code/CSharp/Development-Class/RegistryFileAssociation.htm
Tuvok-LuR-
16-12-2013, 17:14
ti conviene usare un'estensione tutta tua, a te cambia poco ma alla gente non fa piacere ritrovarsi il programma per leggere i txt cambiato :D
(a meno che tu non stia sviluppando un editor di testo)
dyablo96
16-12-2013, 20:04
naturalemte avrei fatto un'altra estensione, usavo l'estensione txt solo come esempio ;)
!faz, ho letto la classe e in teoria è quello che mi serve ma volevo chiederti, la nuova associazione dove devo chiamarla, perchè se la metto sul
public MainWindow()
{
//Qui !!
InitializeComponent();
}
prima o subito dopo InitializeComponent mi crearà l'associazione ogni volta che apro il programma??
e anche i vari valori che devo inserire :
extensio l'ho capito cos'è :)
key non ho capito a cosa serve ??
description ho capito :)
path non ho idea cosa sia ??
nel link c'è anche il metodo DoesFileAssociationExists che controlla se l'associazione al file esiste o no mentre riguardo ai parametri sono ben spiegati cosa è che non ti è chiaro?
key seve se vuoi associare più estensioni al medesimo tipo di file
path è il percorso al tuo programma
dyablo96
17-12-2013, 16:22
si, avevo letto anchio, non sapevo però cosa dovevo mettere su key.
ad esempio se io volessi solo che i file con .abc si aprissero con il mio programma avrei messo:
extension : ".abc"
key : "" perchè non credo mi interessi associare più estensioni al medesimo tipo di file
description : "apro i file abc"
path : ora ho capito che devo mettere il percorso.
non mi è chiaro dove dovrei scrivere il comando per creare l'associazione all'estensione.
dyablo96
18-12-2013, 13:41
ho visto solo ora queste due funzini che servono in realtà da spiegazione :
public static void AssociateTorrents()
{
string path = String.Format("\"{0}\" \"%1\"", Assembly.GetEntryAssembly().Location);
CreateFileAssociation(".torrent","TorrentFile", "BitTorrent Download File", path);
}
public static void AssociateNZB()
{
string path = String.Format("\"{0}\" \"%1\"", Assembly.GetEntryAssembly().Location);
CreateFileAssociation(".nzb", "NZBFile", "NZB Download File", path);
}
grazie,adesso provo se funizona :)
dyablo96
07-01-2014, 14:20
scusatemi se riuppo questa conversazione dopo un bel po di tempo ma vorrei chiedere ancora una cosa.
ho creato l'estensione ed è tutto a posto, nessun problema su quello.
vorrei chiedervi una cosa di cui ha parlato [Kendall], l'evento App_Startup, io vorrei fare in modo che la mia applicazione potesse leggere le stringhe che sono contenute nel file su cui l'utente ha fatto doppio clic per aprirle, io ora ho cercato sugli eventi quello che diceva [kendall] ma l'unico evento con la a è activated.
potreste gentilmente aiutarmi come avete fatto per l'estensione??
dyablo96
08-01-2014, 19:24
upp
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.