• 0

[VB.NET] Get File type by extension


Question

Hello gang,

Writing a little app to help users to create projects of files related to other files (rather simple, I know) and while I can get the associated icon via the "ExtractAssociatedIcon" function I cannot find a way to get the File's document type by it's association. For example if you look at the status bar of the Windows Explorer you can see "Adobe Photoshop Image" when I select a PSD file.

Any ideas?

post-45653-0-70870700-1305577789.jpg

Link to comment
https://www.neowin.net/forum/topic/997870-vbnet-get-file-type-by-extension/
Share on other sites

7 answers to this question

Recommended Posts

  • 0
  On 17/05/2011 at 11:30, mute~ said:

Is this of any help?

Private Function lol(ByVal extension As String) As String
        Dim readValue As String
        readValue = My.Computer.Registry.GetValue _
        ("HKEY_CLASSES_ROOT\" & extension, "", "ExtensionNotFound")
        Return readValue
End Function

Thanks, that kind of works, I was hoping for a native function as this returns a badly formatted string. eg: ".doc" returns "Word.Document.8"

But thanks, it is something. Have a great day.

  • 0
  On 17/05/2011 at 12:32, jameswjrose said:

Thanks, that kind of works, I was hoping for a native function as this returns a badly formatted string. eg: ".doc" returns "Word.Document.8"

But thanks, it is something. Have a great day.

Yeah sorry, best I could think of while trying to navigate ;)

Will have a think about it when I get back on Monday if no-one has solved it before then.

  • 0
  On 18/05/2011 at 11:34, mute~ said:

Yeah sorry, best I could think of while trying to navigate ;)

Will have a think about it when I get back on Monday if no-one has solved it before then.

Please, do not apologize. Thank you very much for an answer! Have a great week.

  • 0
  On 17/05/2011 at 12:32, jameswjrose said:

Thanks, that kind of works, I was hoping for a native function as this returns a badly formatted string. eg: ".doc" returns "Word.Document.8"

But thanks, it is something. Have a great day.

Then use that string to get it, eg HKEY_CLASSES_ROOT\Word.Document.8 and it has "Microsoft Office Word 97 - 2003 Document" as the default value.

  • Like 1
  • 0

Hi,

Managed to find some free time, hope this is more helpful:

    Public Shared Function GetFileExtType(ByVal fileExtension As String) As String
        Dim FileExtensionName As String = ""

        For Each subKey As String In Registry.ClassesRoot.GetSubKeyNames()
            If String.IsNullOrEmpty(subKey) Then
                Continue For
            End If

            If subKey.CompareTo(fileExtension) = 0 Then
                Dim defaultValue As String = Registry.ClassesRoot.OpenSubKey(subKey).GetValue("").ToString()

                If defaultValue.Length = 0 Then
                    Exit For
                End If

                If FileExtensionName.Length = 0 Then
                    FileExtensionName = defaultValue
                    fileExtension = FileExtensionName
                Else
                    If defaultValue.Length > 0 Then
                        FileExtensionName = defaultValue
                    End If
                    Exit For
                End If
            End If
        Next
        Return FileExtensionName
    End Function

  • 0
  On 19/05/2011 at 19:01, mute~ said:

Hi,

Managed to find some free time, hope this is more helpful:

    Public Shared Function GetFileExtType(ByVal fileExtension As String) As String
        Dim FileExtensionName As String = ""

        For Each subKey As String In Registry.ClassesRoot.GetSubKeyNames()
            If String.IsNullOrEmpty(subKey) Then
                Continue For
            End If

            If subKey.CompareTo(fileExtension) = 0 Then
                Dim defaultValue As String = Registry.ClassesRoot.OpenSubKey(subKey).GetValue("").ToString()

                If defaultValue.Length = 0 Then
                    Exit For
                End If

                If FileExtensionName.Length = 0 Then
                    FileExtensionName = defaultValue
                    fileExtension = FileExtensionName
                Else
                    If defaultValue.Length > 0 Then
                        FileExtensionName = defaultValue
                    End If
                    Exit For
                End If
            End If
        Next
        Return FileExtensionName
    End Function

Thanks, you're too kind. It works perfectly.

If you care, here is the app it is going into: Blissgig.com: b.Link

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Microsoft, Indian police bust AI-powered tech support scam ring targeting elderly in Japan by Paul Hill Pop-up scams pretending to be Microsoft Working with India’s Central Bureau of Investigation (CBI), Microsoft recently assisted in busting a scam network that was targeting the elderly in Japan. The CBI raided 19 locations on May 28, leading to the arrest of six key operatives and the taking down of two call centers. The scammers were impersonating Microsoft specifically and using tech support scams against Japanese seniors. The raid led to the seizure of both digital and physical infrastructure, including computers, storage devices, and phones. The scammers were targeting older adults, who are more vulnerable to fraud. To put this activity to an end, Microsoft’s Digital Crimes Unit (DCU), the Japan Cybercrime Control Center (JC3), Japan’s National Police Agency (NPA), and India’s CBI conducted significant cross-border collaboration to trace the criminals. Thanks to the internet, cross-border crimes like these have been around for a while and multinational tech firms like Microsoft are making significant efforts to help law enforcement agencies crack down on cybercrime. Artificial intelligence is also starting to be used to make more sophisticated scams. The evolving threat This case reveals an evolution in how Microsoft’s DCU addresses cybercrime involving tech support fraud. Thanks to AI, scammers have been able to scale their operations. In response, Microsoft has moved away from focusing on individual call centers to target the heads of criminal operations and disrupting their technical infrastructure. Notably, Microsoft’s collaboration with JC3 is the first time the DCU has partnered with a Japan-based organization to assist victims. Microsoft is continually getting tips from JC3 about malicious pop-ups urging recipients to call fake technical support lines that claim to be Microsoft. This data has allowed Microsoft to shut down 66,000 malicious domains and URLs globally since May 2024. Microsoft noted that artificial intelligence is now being used by criminals to scale their operations. Some ways in which these entities leverage AI are for victim identification, writing convincing scam emails and building fake web pages, as well as for convincing translations. Anyone can use AI for malicious purposes so it could increase the number of people or groups carrying out attacks. It also makes attacks much more sophisticated and harder to detect and necessitates better consumer protections and more sophisticated security tools such as passkeys to reduce hacks. Protecting vulnerable populations and what readers can do Tech support fraud attacks have been found by the FBI to disproportionately affect older people, resulting in $590 million in losses in 2023 for just older Americans alone. In this operation that targeted Japanese victims, around 90% of the 200 affected people were over 50. If you’ve ever received suspicious communications from a party claiming to be Microsoft, you should know that Microsoft never sends unsolicited emails or makes phone calls requesting personal or financial information, and it doesn’t offer unsolicited tech support. If you do get any suspicious communications, then you should report it to Microsoft so that it can take action.
    • Firefox is irrelevant in today's internet. Most websites don't work as smooth as any Chromium browsers. Web developers are monopolizing and responsible for this situation.
  • Recent Achievements

    • Week One Done
      luxoxfurniture earned a badge
      Week One Done
    • First Post
      Uranus_enjoyer earned a badge
      First Post
    • Week One Done
      Uranus_enjoyer earned a badge
      Week One Done
    • Week One Done
      jfam earned a badge
      Week One Done
    • First Post
      survivor303 earned a badge
      First Post
  • Popular Contributors

    1. 1
      +primortal
      433
    2. 2
      +FloatingFatMan
      239
    3. 3
      snowy owl
      213
    4. 4
      ATLien_0
      211
    5. 5
      Xenon
      157
  • Tell a friend

    Love Neowin? Tell a friend!