Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Associare estensione file a programma
Forum - C# / VB.NET - Associare estensione file a programma - Pagina 3

Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 21:55
Lunedì, 02/02/2015
E comunque con il codice di nessuno non partiva la funzione Associate().
Ho fatto il test con dei MessageBox e partiva solo quello della funzione IsAssociated()

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:08
Lunedì, 02/02/2015
Scusa pbe ... mi sembra che tu stia facendo un po' di confusione ...

Quale codice hai scritto per la if e per la funzione IsAssociate? Hai apportato le due modifiche che ti ho suggerito?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 22:18
Lunedì, 02/02/2015
Dopo le tue correzioni il codice è:

Codice sorgente - presumibilmente Plain Text

  1. if(!IsAssociated())
  2. {
  3.         Associate();
  4. }



e

Codice sorgente - presumibilmente C# / VB.NET

  1. public static bool IsAssociated()
  2. {
  3. return(Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.bee", false) != null);
  4. }



Mettendo i MessageBox solo la funzione IsAssociated() è richiamata.

Ultima modifica effettuata da pbe il 02/02/2015 alle 22:19
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:45
Lunedì, 02/02/2015
Ok, questo vuol dire che nel registro tutto quello che doveva essere scritto, è stato scritto.

Capirai che la Associate verrà chiamata una sola volta (la IsAssociate serve proprio a questo).

Ultima modifica effettuata da nessuno il 02/02/2015 alle 22:46


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 22:47
Lunedì, 02/02/2015
Però l'associazione non funziona.
Non riesco a capire qual'è il problema.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:48
Lunedì, 02/02/2015
Allora devi controllare bene la Associate e capire se tutte le linee fanno il loro dovere e sono sufficienti.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 22:52
Lunedì, 02/02/2015
E' questo il problema, non riesco a capire cos'è che non va in quella funzione.
Io non sono esperto in registri, quindi mi sono rivolto a voi.

Non ho idea di cosa non funziona.

PM Quote
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 23:00
Lunedì, 02/02/2015
Però se per esempio alla fine della funzione Associate() metto:
Codice sorgente - presumibilmente Plain Text

  1. MessageBox.Show(AppAssoc.ToString());


Il testo stampato è: "HKEY_CURRENT_USER\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.bee".

Ho notato che è il valore assegnato all'inizio della funzione e che non subisce cambiamenti nemmeno dopo la riga di codice:
Codice sorgente - presumibilmente Plain Text

  1. AppAssoc.CreateSubKey("UserChoice").SetValue("Progid","Software\\Classes\\Applications\\Text.exe");



Analogamente anche per AppReg non avviene nessun cambiamento.

E' questo l'errore?

Ultima modifica effettuata da pbe il 02/02/2015 alle 23:01
PM Quote
Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo