วิธีการใช้ฟังก์ชัน SHGetFileInfo เพื่อเรียกดูไอคอนที่เกี่ยวข้องกับแฟ้มใน Visual Basic .NET

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:319340
บทความนี้ถูกเก็บถาวรแล้วเนื้อหาของบทความจึงถูกนำเสนอ "ตามลักษณะที่เป็น" และจะไม่มีการปรับปรุงข้อมูลอีก
สำหรับรุ่น Microsoft Visual c# .NET ของบทความนี้ ดู319350.
สรุป
บทความที่มีการทีละขั้นตอนนี้อธิบายวิธีใช้นี้SHGetFileInfoฟังก์ชันการเรียกใช้ไอคอนที่เกี่ยวข้องกับแฟ้ม

back to the top

สร้างโปรแกรมประยุกต์ Windows Forms

  1. เริ่ม Microsoft Visual Studio .NET
  2. ในการแฟ้ม:เมนู ให้ชี้ไปที่ใหม่แล้ว คลิกProject.
  3. ในการโครงการใหม่กล่องโต้ตอบ คลิกโครงการ visual Basicภายใต้ชนิดโครงการแล้ว คลิกแอพลิเคชันของ windowsภายใต้แม่แบบ.
  4. ในการชื่อ:กล่อง ชนิดGetIconSample.
back to the top

ใช้ฟังก์ชัน SHGetFileInfo

  1. เพิ่มรหัสต่อไปนี้ในตอนต้นของแฟ้ม Form1.vb
    Imports System.Runtime.InteropServices					
  2. เพิ่มรหัสต่อไปนี้ในการform1คลาสหลังจากสืบทอดคำสั่ง
    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. เพิ่มคำlistViewตัวควบคุม คำปุ่มตัวควบคุม และเพิ่มimageListควบคุมไปยังแบบฟอร์ม ชื่อเริ่มต้นคือ ListView1, Button1 และ ImageList1 ตามลำดับ
  4. ในหน้าต่างคุณสมบัติของbutton1ตั้งค่าปุ่มข้อความเลือกแฟ้มแล้ว เพิ่มโค้ดต่อไปนี้ในการButton1_clickเหตุการณ์:
    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

เรียกใช้โครงการนี้

  1. การคอมไพล์โครงการ: บนการสร้างเมนู คลิกสร้างโซลูชัน.
  2. กดแป้น F5 เพื่อเรียกใช้โครงการ
  3. คลิกเลือกแฟ้มจากนั้น เลือกแฟ้มในนั้นOPENกล่องโต้ตอบ ชื่อของแฟ้มและไอคอนที่เกี่ยวข้องกับแฟ้มปรากฏขึ้นในการListViewตัวควบคุม
back to the top
ข้อมูลอ้างอิง
สำหรับข้อมูลเพิ่มเติมในบทความนี้รุ่น Microsoft Visual c# .NET คลิกหมายเลขบทความด้านล่างนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
319350วิธีการใช้ฟังก์ชัน SHGetFileInfo ไปยังการเรียกดูไอคอนที่เกี่ยวข้องกับแฟ้มใน Visual .NET c#
back to the top

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 319340 - การตรวจสอบครั้งสุดท้าย: 12/07/2015 09:15:46 - ฉบับแก้ไข: 5.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 kbhowtomaster kbmt KB319340 KbMtth
คำติชม