Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105

    [VB.NET]Codec audio utente

    Salve a tutti, come da titolo volevo sapere se esiste una funzione che ti dice quali codec audio l'utente ha installato sul suo computer (mi serve per una specie di player).
    Grazie mille.

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Ciao, devi usare WMI. La classe da usare è Win32_CodecFile, ad esempio per la ricerca dei codec audio (puoi anche non filtrarli e farti restituire tutti i codec):

    codice:
    List<SortedList<string,object>> list = new List<SortedList<string,object>>();
                foreach (ManagementObject obj in new ManagementObjectSearcher("SELECT * FROM Win32_CodecFile WHERE Group='Audio'").Get())
                {
                    SortedList<string,object> listItem = new SortedList<string,object>();
                    foreach (PropertyData property in obj.Properties)
                    {
                        listItem.Add(property.Name,obj[property.Name]);
                    }
                    list.Add(listItem);
                }
    ovviamente prendi solo le property che ti servono...

    Devi anche aggiungere la System.Management come riferimento.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105
    Grazie mille, ora lo provo.

  4. #4
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    ops scusa, cercavi vb... vabbhe tradotto con il traduttore :
    codice:
    Dim list As New List(Of SortedList(Of String, Object))()
    For Each obj As ManagementObject In New ManagementObjectSearcher("SELECT * FROM Win32_CodecFile WHERE Group='Audio'").[Get]()
    	Dim listItem As New SortedList(Of String, Object)()
    	For Each [property] As PropertyData In obj.Properties
    		listItem.Add([property].Name, obj([property].Name))
    	Next
    	list.Add(listItem)
    Next
    poi le liste non è che servano, era solo per vedere le proprietà che ti servono...

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105
    E' quello che ho fatto anche io col traduttore

    No beh, se mi fa un bel listato lo preferisco anche io.
    L'unica cosa è il "Get" in fondo che me lo mette tra parentesi graffe... va messo uguale ?
    Perchè così non mi pare sintassi di vb.net (almeno io nn le ho mai usate in questo modo) e difatti a me non funziona (stessa cosa per propriety ?).
    Grazie ancora

  6. #6
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    intendi le parentesi quadre[] nel get? si è vb, serve a distinguere eventuali parole chiave, ma proprio li (in quel get) non dovrebbe essere necessario, mentre in property si, ci devono stare per distinguere dalla parola chiave (appunto property).

    cosa non funziona del codice?

    le parentesi quadre in vb .net servono anche a distinguere ad esempio alcune parole minuscolo - maiuscolo, ad esempio come faresti se dovessi fare una cosa del genere :

    codice:
    enum Tipo
            a
            e
            i
            o
            u
        End Enum
    
    enum.GetName(GetType(Tipo), 2)
    dovendo chiamare la classe Enum (maiuscolo) ?

    semplice, così :

    codice:
    [Enum].GetName(GetType(Tipo), 2)

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.