Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    95

    [C#] Associare estensioni al mio programma

    Ciao a tutti!

    Ho creato un semplice visualizzatore di immagini con C#. Il problema è: come faccio a dare all'utente la possibilità di associare, ad esempio, i file .bmp col mio programma e a fare in modo che aprendo un .bmp si visualizzi l'immagine nel mio programma?

    Grazie in anticipo per il vostro aiuto!

  2. #2
    Ti consiglio di far gestire le associazioni di file al tuo installer; questo non perché non sia possibile in C# (tra l'altro ne abbiamo parlato in passato), ma perché l'installer poi si occuperà di ripristinare le associazioni precedenti al momento della disinstallazione.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    95
    Perfetto! Come faccio a farlo fare all'installer? Quale programma di installer devo utilizzare? E poi come faccio a passare l'immagine aperta al mio programma al momento dell'avvio?
    Grazie ancora per il tuo aiuto!

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    95
    Originariamente inviato da flash.tato
    http://www.devx.com/vb2themax/Tip/18748
    Ho guardato il link che mi hai dato. Quindi suppongo che devo usare il vettore di string come argomento del Main per passare l'immagine. Ma così il parametro deve essere per forza di tipo string? E poi non serve per forza aprire il programma da console, facendo doppio click su un'immagine il nome dell'immagine diventa il parametro args[0], ho capito bene?

    Grazie ancora a tutti e due!

    EDIT: Ho provato a modificare il file Program.cs che contiene il Main inserendoci il parametro args, ma ottengo un errore:

    codice:
    static void Main(string[] args)
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1(args[0])); //IndexOutOfRangeException non è stata gestita
            }

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    95
    Risolto!!
    Errore banalissimo, dovevo solo mettere una try ... catch () per quell'eccezione e all'interno del blocco catch usavo un altro costruttore di Form1 (senza argomenti).
    Grazie, ciao!

  7. #7
    Più semplicemente:
    codice:
            static void Main(string[] args)
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(args.Length==0?new Form1():new Form1(args[0]));
            }
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    95
    Scusate, mi serve ancora aiuto...
    Ho finito di creare l'applicazione, e ho deciso di distribuirla con ClickOnce. Il setup non è personalizzabile, e non mi permette di dirgli di associare le estensioni col mio programma.
    Come è possibile tramite codice C# dirgli di associare le estensioni di immagine al mio programma? Se anche faccio click di destra su un'immagine, scelgo "Apri con...", il mio programma non si vede nella lista di programmi consigliati per aprire le immagini. Come faccio se no a fargli capire che è un programma che serve a visualizzare le immagini?
    Grazie ancora!

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    87
    non serve. basta che facendo Apri con... usi sfoglia e cerchi l'eseguibile del tuo programma.

  10. #10

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.