Come creare un formato proprietario da aprire in una mia applicazione?...

mercoledì 20 febbraio 2008 - 19.18

Cantalupynho Profilo | Newbie

Vorrei sapere crare un estensone fare in modo che l'OS lo associ alla mia applicazione e che l'applicazione quando viene aperta automaticamente apra il file
(ovviamente non mi interessano gli eventuali algoritmi di lettura scrittura ai quali provvederò solo)
Grazie a tutti in anticipo
Dio ha creato Bill Gates
Bill Gates ha creato il Computer

aiedail92 Profilo | Expert

Ciao

Per creare una nuova estensione devi agire sul registro di sistema, oppure più semplicemente clicki col destro sul file con l'estensione da aggiungere, scegli apri con e selezioni il tuo eseguibile, mettendo il segno di spunta su "utilizza sempre ecc"

Quando il file viene aperto alla void Main viene passato come argomento 0 il nome del file col percorso completo, quindi tu puoi decidere come aprirlo:

static void Main(string[] args) { MessageBox.Show(string.Format("Aperto il file {0}", args[0])); //Lanci l'applicazione vera e propria }

Naturalmente bisogna anche controllare se hai aperto un file o solo l'applicazione (col solo codice sopra occorreresti in un IndexOutOfRangeException se non fosse stato selezionato nessun file)

Luca

Cantalupynho Profilo | Newbie

grazie 1000 soltanto scusa! nn ti ho detto che lo devo fare in vb.net
o dtt tutto tranne la cosa + importante :P scusa!!!!!

aiedail92 Profilo | Expert

>grazie 1000 soltanto scusa! nn ti ho detto che lo devo fare in
>vb.net
>o dtt tutto tranne la cosa + importante :P scusa!!!!!

No Problem

Per il VB devi aggiungere un modulo che funge da punto di ingresso per l'applicazione. In questo modulo dichiari una Sub Main che accetti come parametro un array di stringhe, e nella sub main fai il controllo sull'argomento 0 di args, quindi lanci l'applicazione che gestisca l'argomento:

Public Module MainModule Public Sub Main(ByVal args() as string) 'Controlli il valore di args 'Chiami la form principale gestendo il parametro End Sub End Module

Infine nelle proprietà del progetto devi impostare l'oggetto di avvio sul modulo che hai aggiunto (MainModule)

Luca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5