Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Associare icona a programma
Forum - C# / VB.NET - Associare icona a programma

Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 12:46
Martedì, 07/04/2015
Questo topic è stato chiuso dal moderatore

Premessa:
con il codice seguente sono riuscito a:
-associare estensione al mio programma (.benz a BenzWriter.exe)
-associare icona ad estensione (benzIcon1.ico a BenzWriter.exe)
Non mi funziona però l'associazione dell'icona al mio programma. Cosa manca? Cosa ho sbagliato?
Ecco il codice:
Codice sorgente - presumibilmente C# / VB.NET

  1. public static void Associate()
  2. {
  3.         RegistryKey fileReg = Registry.CurrentUser.CreateSubKey("Software\\Classes\\.benz");
  4.         RegistryKey AppReg = Registry.CurrentUser.CreateSubKey("Software\\Classes\\Applications\\BenzWriter.exe");
  5.         RegistryKey AppAssoc = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.benz");
  6.                
  7.         fileReg.CreateSubKey("DefaultIcon").SetValue("",""+Application.StartupPath+"\\benzIcon1.ico");
  8.         fileReg.CreateSubKey("PerceivedType").SetValue("","BenzWriter");
  9.                        
  10.         fileReg.CreateSubKey("shell\\open\\command").SetValue("","\""+Application.ExecutablePath + "\" %1");
  11.         fileReg.CreateSubKey("shell\\edit\\command").SetValue("","\""+Application.ExecutablePath + "\" %1");
  12.                        
  13.                        
  14.         AppReg.CreateSubKey("DefaultIcon").SetValue("",""+Application.StartupPath+"\\benzIcon1.ico");
  15.         AppReg.CreateSubKey("shell\\open\\command").SetValue("","\""+Application.ExecutablePath + "\" %1");
  16.         AppReg.CreateSubKey("shell\\edit\\command").SetValue("","\""+Application.ExecutablePath + "\" %1");
  17.                
  18.         AppAssoc.CreateSubKey("DefaultIcon").SetValue("",""+Application.StartupPath+"\\benzIcon1.ico");
  19.         AppAssoc.CreateSubKey("UserChoice").SetValue("Progid","Software\\Classes\\Applications\\BenzWriter.exe");
  20.         SHChangeNotify(0x08000000, 0x0000, IntPtr.Zero, IntPtr.Zero);
  21.  
  22. }



Aspetto risposte.

Ultima modifica effettuata da pbe il 07/04/2015 alle 12:48


Per me programmare è costruire il futuro: codice dopo codice.

http://benzocode.altervista.org (in costruzione)
PM
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1702
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 12:53
Martedì, 07/04/2015

con il codice seguente sono riuscito a:
-associare estensione al mio programma (.benz a BenzWriter.exe)
-associare icona ad estensione (benzIcon1.ico a BenzWriter.exe)






Non mi funziona però l'associazione dell'icona al mio programma. Cosa manca? Cosa ho sbagliato?




Non ho capito bene cosa non riesci a fare.


PM
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 13:39
Martedì, 07/04/2015
con il codice seguente sono riuscito a:
-associare estensione al mio programma (se apro un file .benz si apre con il mio programma)
-associare icona ad estensione (se creo un file .benz automaticamente avrà la mia icona)

Non riesco invece a impostare la mia icona come icona del mio programma.
Rimane l'icona vuota di default.
es. Se apro il mio programma nella barra delle applicazione non si vede la mia icona, bensì l'icona di default


Per me programmare è costruire il futuro: codice dopo codice.

http://benzocode.altervista.org (in costruzione)
PM
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1702
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 14:25
Martedì, 07/04/2015
Tasto destro del mouse sul progetto -> Proprietà

Scheda Applicazione ed in basso a sinistra puoi cambiare l'icona del tuo programma


PM
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 14:33
Martedì, 07/04/2015
Ok. Era più semplice di quanto pensassi :-|
Grazie.


Per me programmare è costruire il futuro: codice dopo codice.

http://benzocode.altervista.org (in costruzione)
PM