Dim fi As New FileInfo(fileName)
Dim shl As Shell32.Shell = New Shell32.Shell
Dim dir As Shell32.Folder = shl.[NameSpace](fi.DirectoryName)
Dim itm As Shell32.FolderItem = dir.Items().Item(fi.Name)
Dim itm2 As Shell32.ShellFolderItem = DirectCast(itm, Shell32.ShellFolderItem)
Dim str As String = dir.GetDetailsOf(itm2, 31)
This got it working without searching for the file. 31 returns image dimensions for me. DirectoryInfo does not have all the metadata that shell32 "getdetailsof" has.