Non a nuoto però, non è stagione!
Ma ogni stagione va bene per dare una risposta utile. :-\
se ci fosse l sistema da gambas non coi sarebbero problemi al cambio dei de o delle distro...
La soluzione universale - tutta Gambas - è la seguente: attivato il componente gb.desktop, devi utilizzare le sue Classi DesktopMime e DesktopFile:
Public Sub Form_Open()
Dim dm As New DesktopMime
Dim df As DesktopFile
Dim percorso As String
percorso = "/percorso/del/mioFile"
With df = New DesktopFile(percorso)
Print "Il file '"; percorso; "' è associato con il programma: "; .FromMime(dm.FromFile(percorso).Type)[0].ProgramName
End With
End
Puoi anche ad esempio ottenere contemporaneamente:
* il nome dell'applicazione associata al tipo di file;
* l'icona dell'applicazione associata al tipo di file;
* l'icona di quel tipo di file.
L'esempio prevede che sul Form siano posti un Button e due PictureBox:
Public Sub Button1_Click()
Dim df As DesktopFile
Dim percorso As String
percorso = "/percorso/del/file"
With df = DesktopFile.FromMime(DesktopMime.FromFile(percorso).Type)[0]
Print "Il file '"; percorso; "' è associato con il programma: "; .ProgramName
PictureBox1.Picture = .GetIcon(48).Picture
End With
PictureBox2.Picture = DesktopMime.FromFile(percorso).GetIcon(48).Picture
End
In vero, puoi ottenere l'icona associata ad un tipo di file più semplicemente mediante il metodo ''Desktop.GetFileIcon()'':
Public Sub Form_Open()
PictureBox1.Picture = Desktop.GetFileIcon("/percorso/del/file", 48)
End