Primo, I found a couple di java specific questions e le risposte per questo. Sto cercando più soluzioni "native", ma cross-platform, usando C, C++, qualche tipo di script di shell, o, nel mio caso, Qt.Esiste un modo non java e multipiattaforma per avviare l'applicazione associata per un determinato tipo di file?
Quindi la domanda è, ci sono standard, multipiattaforma, modi per aprire a livello di programmazione l'applicazione associata per determinati tipi di file. O almeno per scoprire se ci sono applicazioni associate ed essere in grado di localizzarle e lanciarle?
Da piattaforma multiplo intendo Windows, OSX e linux (gnome/kde). Il caso d'uso sta avendo un database con i file memorizzati come BLOB che saranno letti sui tre diversi target.
Grazie, xdg-open era la parte mancante. Inoltre, perdona il mio uso di "linux" come termine generale per quel sapore del sistema operativo. Penso che tutti qui sappiano che è un kernel, ma capisco ancora cosa si intende. – FeatureCreep
So che posso essere un po 'pedante su queste cose, ma secondo me è importante essere corretti su queste cose: la stragrande maggioranza assoluta dei computer Linux * non supporta * xdg-open'! Il mio telefono cellulare, lettore DVD, decodificatore TV via cavo, registratore HDD, scatola NAS e PDA eseguono tutti Linux, ma nessuno di questi ha 'xdg-open'.Inoltre, ogni singolo TiVo sul pianeta e quasi tutti i router WiFi o a banda larga eseguono Linux e nessuno di questi ha 'xdg-open'. OTOH, molti desktop FreeBSD, NetBSD, ... che * non * eseguono Linux ma sono compatibili con XDG * do * hanno 'xdg-open'. –
Quindi, ha davvero tutto a che fare con le specifiche Freedesktop e nulla a che fare con Linux. –