Ya intentaste colocar en un array las extensiones que necesitas y mandarlas a llamar haciendo el filtrado..
Algo así:
Cita: Dim d As New DirectoryInfo("c:\downloads")
Dim sFilesExtension() As String = {"*.wmv", "*.mpg","*.avi"}
For Each sExtension As String In sFilesExtension
For Each f As FileInfo In d.GetFiles(sExtension)
MessageBox.Show(f.FullName)
Next
Next
Ahora, saber exactamente el tipo de archivo aunque le cambien la extension no es algo sencillo, ni siquiera el mismo microsoft lo evalua como debe ser.. por ejemplo.. en el caso de outlook cuando hay un firewall de por medio (si así está configurado) y tienes un archivo .exe al enviar un email te lo bloquea.. pero ese mismo si le cambias de extension lo envías sin problemas... es por eso que todo se basa en el tipo de extension..
Espero que te sirva el ejemplo que te puse.
Salu2