By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,247 Members | 1,057 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,247 IT Pros & Developers. It's quick & easy.

Retrive type of file

P: n/a
Hi all,

I'm using SHGetFileInfo api call from VB.NET so as to retreive icon
associated of a file. I want also to get "type of file" string with
SHGFI_TYPENAME flag but I can't see nothing. When I call api function and I
look for szTypeName all I get is a null string.
Any help?
Thanks a lot,
Xavier
Nov 20 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
* "Xavier Valdés" <no*****@teleline.es> scripsit:
I'm using SHGetFileInfo api call from VB.NET so as to retreive icon
associated of a file. I want also to get "type of file" string with
SHGFI_TYPENAME flag but I can't see nothing. When I call api function and I
look for szTypeName all I get is a null string.


Quick and dirty:

\\\
Imports System.Runtime.InteropServices

Public Class Form1
Inherits System.Windows.Forms.Form

Private Declare Auto Function SHGetFileInfo Lib "shell32.dll" ( _
ByVal pszPath As String, _
ByVal dwFileAttributes As Integer, _
ByRef psfi As SHFILEINFO, _
ByVal cbFileInfo As Integer, _
ByVal uFlags As Integer _
) As IntPtr

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto)> _
Private Structure SHFILEINFO
Public hIcon As Int32
Public iIcon As Int32
Public dwAttributes As Int32
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=260)> _
Public szDisplayName As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=80)> _
Public szTypeName As String
End Structure

Private Const SHGFI_TYPENAME As Int32 = &H400

Private Sub Form1_Load( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs _
) Handles MyBase.Load
Dim x As SHFILEINFO
Call SHGetFileInfo("C:\test_tl\ausarb.tex", 0, x, Len(x), SHGFI_TYPENAME)
MsgBox(x.szTypeName)
End Sub
End Class
///

--
Herfried K. Wagner [MVP]
<URL:http://dotnet.mvps.org/>
Nov 20 '05 #2

P: n/a
Thank you very much!
That's perfect!

"Herfried K. Wagner [MVP]" <hi***************@gmx.at> escribió en el mensaje
news:2k************@uni-berlin.de...
* "Xavier Valdés" <no*****@teleline.es> scripsit:
I'm using SHGetFileInfo api call from VB.NET so as to retreive icon
associated of a file. I want also to get "type of file" string with
SHGFI_TYPENAME flag but I can't see nothing. When I call api function and I look for szTypeName all I get is a null string.
Quick and dirty:

\\\
Imports System.Runtime.InteropServices

Public Class Form1
Inherits System.Windows.Forms.Form

Private Declare Auto Function SHGetFileInfo Lib "shell32.dll" ( _
ByVal pszPath As String, _
ByVal dwFileAttributes As Integer, _
ByRef psfi As SHFILEINFO, _
ByVal cbFileInfo As Integer, _
ByVal uFlags As Integer _
) As IntPtr

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto)> _
Private Structure SHFILEINFO
Public hIcon As Int32
Public iIcon As Int32
Public dwAttributes As Int32
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=260)> _
Public szDisplayName As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=80)> _
Public szTypeName As String
End Structure

Private Const SHGFI_TYPENAME As Int32 = &H400

Private Sub Form1_Load( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs _
) Handles MyBase.Load
Dim x As SHFILEINFO
Call SHGetFileInfo("C:\test_tl\ausarb.tex", 0, x, Len(x),

SHGFI_TYPENAME) MsgBox(x.szTypeName)
End Sub
End Class
///

--
Herfried K. Wagner [MVP]
<URL:http://dotnet.mvps.org/>

Nov 20 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.