{"id":1274,"date":"2021-11-03T17:14:38","date_gmt":"2021-11-03T17:14:38","guid":{"rendered":"https:\/\/www.budus.it\/Blog\/?p=1274"},"modified":"2021-11-03T17:14:39","modified_gmt":"2021-11-03T17:14:39","slug":"vb-net-ottenere-il-percorso-del-programma-al-quale-e-associata-unestensione-di-file","status":"publish","type":"post","link":"https:\/\/www.budus.it\/Blog\/vb-net-ottenere-il-percorso-del-programma-al-quale-e-associata-unestensione-di-file\/","title":{"rendered":"VB.Net: Ottenere il percorso del programma al quale \u00e8 associata un&#8217;estensione di file"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Ho tribolato abbastanza per trovare una soluzione decorosa al problema in oggetto e alla fine ne ho scritta una io che &#8230;<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">&#8230; non ha la pretesa di essere una roba professionale, che funziona sempre ed ovunque ma almeno pu\u00f2 rappresentare qualcosa di usabile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il problema: ho un&#8217;estensione, diciamo &#8220;.pdf&#8221; e devo trovare il <em>percorso completo del programma al quale &#8211; presumibilmente &#8211; \u00e8 associata<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Questo che propongo di seguito \u00e8 il codice in VB.NET:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Public Shared Function GetAssociatedProgram(sFileExtension As String) As String\n        If sFileExtension.Substring(0, 1) &lt;> \".\" Then sFileExtension = \".\" + sFileExtension\n\n        Try\n            Dim sContentType As String = My.Computer.Registry.GetValue(\"HKEY_CLASSES_ROOT\\\" + sFileExtension, \"Content Type\", Nothing)\n            If sContentType IsNot Nothing Then\n                Dim sAppId As String = My.Computer.Registry.GetValue(\"HKEY_CLASSES_ROOT\\MIME\\Database\\Content Type\\\" + sContentType, \"\", Nothing)\n                If sAppId IsNot Nothing Then\n                    Dim sAppCommand As String = My.Computer.Registry.GetValue(\"HKEY_CLASSES_ROOT\\\" + sAppId + \"\\shell\\open\\command\", \"\", Nothing)\n                    If sAppCommand IsNot Nothing Then\n                        Return sAppCommand.Split(\"%1\")(0).Trim()\n                    End If\n                End If\n            End If\n        Catch ex As Exception\n            Debug.Print(ex.ToString)\n        End Try\n\n        Return \"\"\n    End Function<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il problema in oggetto l&#8217;ho <em>risolto<\/em> anche con dei comandi batch (s\u00ec, mi serviva la cosa in un file &#8220;.bat&#8221;) ma, se proprio qualcuno \u00e8 interessato (scriva pure un commento sotto), vedr\u00f2 di pubblicarlo in articolo dedicato.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se trovate bug o avete suggerimenti, li accetto molto volentieri !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Codice vb.net per ottenere il programma associato ad una estensione di file.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[57],"tags":[274],"class_list":["post-1274","post","type-post","status-publish","format-standard","hentry","category-development","tag-vb-net"],"_links":{"self":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/1274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/comments?post=1274"}],"version-history":[{"count":1,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/1274\/revisions"}],"predecessor-version":[{"id":1275,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/1274\/revisions\/1275"}],"wp:attachment":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/media?parent=1274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/categories?post=1274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/tags?post=1274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}