Risultati da 1 a 5 di 5

Discussione: Come ottenere il nome del programma associato ad una estensione

  1. #1
    Software Zone Maniac
    Data Registrazione
    29-01-2003
    Località
    Verona
    Messaggi
    1.512

    Come ottenere il nome del programma associato ad una estensione

    Questo sistema non è utile a chi usa normalmente il PC perché, per ottenere il nome del programma associato ad una estensione, con un po' di click o con qualche programmino adatto lo può fare senza problemi.
    Invece, se si realizza un programma e all'interno di questo programma si ha la necessità di conoscere quale è l'eseguibile associato ad una determinata estensione la cosa diventa decisamente più complicata.
    Ecco il procedimento:

    Le estensioni sono memorizzate nel registro, sotto la chiave HKEY_CLASSES_ROOT\estensione, dove "estensione" rappresenta appunto il nome di ogni estensione, per esempio ".doc"; in questo caso sarebbe HKEY_CLASSES_ROOT\.doc; il valore di default di questa chiave contiene una descrizione di classe del programma; in questo caso sarebbe "Word.Document.8".
    Poi, la chiave HKEY_CLASSES_ROOT\classe contiene varie caratteristiche fra le quali altre sottochiavi che permettono di conoscere il programma eseguibile associato all'estensione; continuando con l'esempio, la chiave HKEY_CLASSES_ROOT\Word.Document.8 deve contenere una sottochiave di nome "shell"; questa a sua volta deve contenere altre sottochiavi, tra le quali quelle che interessano sono, in ordine di utilità ed interesse "Play", "Open" ed "Edit"; non sempre sono presenti tutte ma almeno una deve essere presente.
    All'interno di ognuna di quelle chiavi ci deve essere una sottochiave di nome "Command" il cui valore di default contiene esattamente la riga di comando da utilizzare per chiamare il programma e leggere un file con l'estensione definita; continuando nell'esempio precedente, la chiave HKEY_CLASSES_ROOT\Word.Document.8\shell\open\comma nd contiene come valore di default "C:\Programmi\Microsoft Office\OFFICE11\WINWORD.EXE" /n /dde".

    Ho realizzato anche un programmino script che esegue tutta questa procedura, è realizzato in linguaggio WinBatch che so benissimo essere molto poco conosciuto ma è un ottimo linguaggio; se interessa lo posso spedire.

  2. #2
    SWZone Staff - Moderatrice
    La Segretaria
    Ogni Club ha la segretaria
    che merita

    Member of Swzone Ferrari club
    L'avatar di frabi
    Data Registrazione
    27-12-2002
    Località
    Cagliari
    Messaggi
    31.573
    Doverosa precisazione.
    Attenzione perchè si sta andando a modificare il registro di sistema, il consiglio è di seguire il tip se si è sicuri di quello che si sta facendo e si ha qualche conoscenza delle funzioni del registro e dei problemi che si potrebbero riscontrare mettendo in atto delle modifiche.
    Grazie ad archimede per aver condiviso la metodologia.

  3. #3
    SWZ Cerimoniere Ufficiale ed
    Organizzatore Eventi Mediatici
    Il Boia di San Lorenzo
    GrossoMod del Digital Imaging
    Ciukmaker Racing Mode
    L'avatar di giofi83
    Data Registrazione
    25-09-2001
    Località
    Alessandria
    Messaggi
    18.464
    Mi associo ai ringraziamenti e, soprattutto, ai complimenti.


  4. #4
    Software Zone Maniac
    A volte [fortunatamente] ritornano
    L'avatar di The_Blinded
    Data Registrazione
    31-05-2007
    Località
    (Udine) [Friuli] {Italia}
    Messaggi
    1.654
    Sarò io tonto, ma non ho capito cosa fa il programmino...
    So di non sapere ma spero di imparare pian piano..
    Il mio sito personale: Evangelizzazione Attiva

  5. #5
    Software Zone Maniac
    Data Registrazione
    29-01-2003
    Località
    Verona
    Messaggi
    1.512
    Tu fornisci un'estensione e ti fornisce l'eseguibile associato.
    Ovviamente è interessante solo se sei un programmatore perché di programmi che fanno questo lavoro ce ne sono tabnti; quello che è interessante è l'algoritmo, il fatto che vedi come funziona e lo puoi copiare in altri programmi

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •