Click here to Skip to main content
15,900,461 members
Home / Discussions / C#
   

C#

 
GeneralRe: C# and DLL's Pin
Ed Hopkins13-Aug-04 9:20
Ed Hopkins13-Aug-04 9:20 
GeneralRe: C# and DLL's Pin
MilesAhead15-Aug-04 13:02
MilesAhead15-Aug-04 13:02 
GeneralRe: C# and DLL's Pin
Ed Hopkins16-Aug-04 9:28
Ed Hopkins16-Aug-04 9:28 
GeneralRe: C# and DLL's Pin
MilesAhead16-Aug-04 10:00
MilesAhead16-Aug-04 10:00 
GeneralJava Classes Pin
eggie513-Aug-04 8:14
eggie513-Aug-04 8:14 
GeneralRe: Java Classes Pin
Nick Parker13-Aug-04 8:49
protectorNick Parker13-Aug-04 8:49 
GeneralRetrieving File Information Pin
matthias s.13-Aug-04 8:03
matthias s.13-Aug-04 8:03 
GeneralRe: Retrieving File Information Pin
Nick Parker13-Aug-04 9:04
protectorNick Parker13-Aug-04 9:04 
Matthias Steinbart wrote:
How to I retrieve the associated icon for a given file?

This is done through P/Invoke, here is an example:

[StructLayout(LayoutKind.Sequential)]
public struct SHFILEINFO 
{
  public IntPtr hIcon;
  public IntPtr iIcon;
  public uint dwAttributes;
  [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
  public string szDisplayName;
  [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]
  public string szTypeName;
};
  

public const uint SHGFI_ICON = 0x100;
public const uint SHGFI_LARGEICON = 0x0;
public const uint SHGFI_SMALLICON = 0x1;

[DllImport("shell32.dll")]
public static extern IntPtr SHGetFileInfo(string pszPath,
                              uint dwFileAttributes,
                              ref SHFILEINFO psfi,
                              uint cbSizeFileInfo,
                              uint uFlags);

string file = @"C:\dir\blah.doc";
IntPtr hImg = SHGetFileInfo(file , 0, ref shinfo,
                                  (uint)Marshal.SizeOf(shinfo),
                                   Win32.SHGFI_ICON |
                                   Win32.SHGFI_SMALLICON);
Icon i = Icon.FromHandle(hImg);


Might I ask, are you trying to recreate the Windows Explorer?





- Nick Parker
My Blog | My Articles

GeneralRe: Retrieving File Information Pin
matthias s.13-Aug-04 9:14
matthias s.13-Aug-04 9:14 
GeneralRe: Retrieving File Information Pin
Dave Kreskowiak13-Aug-04 9:54
mveDave Kreskowiak13-Aug-04 9:54 
GeneralTransparencyKey producing black flicker Pin
3Dizard13-Aug-04 7:10
3Dizard13-Aug-04 7:10 
GeneralRe: TransparencyKey producing black flicker Pin
Nick Parker13-Aug-04 8:38
protectorNick Parker13-Aug-04 8:38 
GeneralRe: TransparencyKey producing black flicker Pin
J. Dunlap13-Aug-04 12:24
J. Dunlap13-Aug-04 12:24 
GeneralRe: TransparencyKey producing black flicker Pin
3Dizard14-Aug-04 0:52
3Dizard14-Aug-04 0:52 
GeneralTAPI in C# Pin
Zeeshan Gulzar13-Aug-04 6:45
Zeeshan Gulzar13-Aug-04 6:45 
GeneralRe: TAPI in C# Pin
Nick Parker13-Aug-04 7:43
protectorNick Parker13-Aug-04 7:43 
GeneralVisual Studio oddities Pin
OBRon13-Aug-04 6:10
OBRon13-Aug-04 6:10 
GeneralIntelliSense-like addin Pin
LorenzoDV13-Aug-04 6:06
LorenzoDV13-Aug-04 6:06 
GeneralRe: IntelliSense-like addin Pin
Nick Parker13-Aug-04 7:46
protectorNick Parker13-Aug-04 7:46 
GeneralAbout form Pin
jzb13-Aug-04 5:59
jzb13-Aug-04 5:59 
GeneralRe: About form Pin
Nick Parker13-Aug-04 8:39
protectorNick Parker13-Aug-04 8:39 
GeneralRe: About form Pin
jzb13-Aug-04 16:28
jzb13-Aug-04 16:28 
GeneralSerious Issue Pin
sreejith ss nair13-Aug-04 5:38
sreejith ss nair13-Aug-04 5:38 
GeneralRe: Serious Issue Pin
Dave Kreskowiak13-Aug-04 9:41
mveDave Kreskowiak13-Aug-04 9:41 
GeneralRe: Serious Issue Pin
sreejith ss nair13-Aug-04 17:50
sreejith ss nair13-Aug-04 17:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.