Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

Visual Basic. NET'te dosyalarla ilişkili simgelerin almak için SHGetFileInfo işlevi nasıl kullanılır

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

Makalenin İngilizcesi aşağıdaki gibidir:319340
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Bu makalenin Microsoft Visual C# .NET sürümü için bkz: 319350.
Özet
Bu adım adım makalede, SHGetFileInfo işlevi dosyalarla ilişkili simgelerin almak için nasıl kullanılacağını açıklar.

back to the top

Windows Forms uygulaması oluşturma

  1. Microsoft Visual Studio .NET'i başlatın.
  2. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
  3. Yeni proje) iletişim kutusunda, Visual Basic ProjectsProject Types altında tıklatın ve şablonları altında Windows uygulama ' yı tıklatın.
  4. Ad kutusuna GetIconSample yazın.
back to the top

SHGetFileInfo işlevini kullanın.

  1. Form1.vb dosyanın başına aşağıdaki kodu ekleyin.
    Imports System.Runtime.InteropServices					
  2. Aşağıdaki kodu Form1 sınıfında INHERITS deyiminin sonrasına ekleyin.
    Private Structure SHFILEINFO        Public hIcon As IntPtr ' : icon        Public iIcon As Integer ' : icondex        Public dwAttributes As Integer ' : SFGAO_ flags        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=260)> _        Public szDisplayName As String        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=80)> _        Public szTypeName As StringEnd StructurePrivate Declare Ansi 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 IntPtrPrivate Const SHGFI_ICON = &H100Private Const SHGFI_SMALLICON = &H1Private Const SHGFI_LARGEICON = &H0         ' Large iconPrivate nIndex = 0					
  3. Bir liste görünümü denetimi, bir Düğme denetimi ve bir imageList denetimi forma ekleyin. Varsayılan ListView1 Button1 ve ImageList1 sırasıyla adlarıdır.
  4. Button1 Properties penceresinde, bir dosya seç düğmesinin metni ayarlayın ve sonra da Button1_click olayda aşağıdaki kodu ekleyin:
    Dim hImgSmall As IntPtr  'The handle to the system image list.Dim hImgLarge As IntPtr  'The handle to the system image list.Dim fName As String      'The file name to get the icon from.Dim shinfo As SHFILEINFOshinfo = New SHFILEINFO()Dim openFileDialog1 As OpenFileDialogopenFileDialog1 = New OpenFileDialog()openFileDialog1.InitialDirectory = "c:\temp\"openFileDialog1.Filter = "All files (*.*)|*.*"openFileDialog1.FilterIndex = 2openFileDialog1.RestoreDirectory = TruelistView1.SmallImageList = imageList1listView1.LargeImageList = ImageList1shinfo.szDisplayName = New String(Chr(0), 260)shinfo.szTypeName = New String(Chr(0), 80)If (openFileDialog1.ShowDialog() = DialogResult.OK) Then     fName = openFileDialog1.FileName     'Use this to get the small icon.     hImgSmall = SHGetFileInfo(fName, 0, shinfo, Marshal.SizeOf(shinfo), _         SHGFI_ICON Or SHGFI_SMALLICON)     'Use this to get the large icon.     'hImgLarge = SHGetFileInfo(fName, 0,      'ref shinfo, (uint)Marshal.SizeOf(shinfo),      'SHGFI_ICON | SHGFI_LARGEICON);     'The icon is returned in the hIcon member of the shinfo struct.     Dim myIcon As System.Drawing.Icon     myIcon = System.Drawing.Icon.FromHandle(shinfo.hIcon)     imageList1.Images.Add(myIcon) 'Add icon to imageList.     listView1.Items.Add(fName, nIndex) 'Add file name and icon to listview.     nIndex = nIndex + 1End If					
back to the top

Projeyi çalıştırın

  1. Projeyi derlemek: Oluştur) menüsünde, Build Solution ' ı tıklatın.
  2. F5 tuşuna basarak projeyi çalıştırın.
  3. Bir dosya seç ' i tıklatın ve sonra da iletişim kutusuna bir dosya seçin. Adı ve dosya ile ilişkilendirilmiş simgeyi ListView denetiminde görünür.
back to the top
Referanslar
Bu makalenin Microsoft Visual C# .NET sürümünde ek bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
319350Simgeleri dosyalar Visual C# .NET ile ilişkili olarak mı almak için SHGetFileInfo işlevi nasıl kullanılır
back to the top

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 319340 - Son İnceleme: 12/07/2015 09:15:46 - Düzeltme: 2.0

Microsoft Visual Studio .NET 2002 Professional Edition, Microsoft Visual Studio .NET 2002 Enterprise Architect, Microsoft Visual Studio .NET 2002 Enterprise Developer, Microsoft Visual Studio .NET 2002 Academic Edition

  • kbnosurvey kbarchive kbmt kbhowtomaster KB319340 KbMttr
Geri bildirim