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

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

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

back to the top

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

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

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

  1. เพิ่มรหัสต่อไปนี้ในแฟ้ม Form1.cs เมื่อสิ้นสุดการการใช้ใบแจ้งยอด
    using System.Runtime.InteropServices;					
  2. เพิ่มรหัสต่อไปนี้หลังจากform1คลาสของGetIconSamplenamespace
    [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;};class Win32{	public const uint SHGFI_ICON = 0x100;	public const uint SHGFI_LARGEICON = 0x0; // 'Large icon	public const uint SHGFI_SMALLICON = 0x1; // 'Small icon			[DllImport("shell32.dll")]	public static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, uint cbSizeFileInfo, uint uFlags);}					
  3. เพิ่มรหัสต่อไปนี้ในการform1คลาสหลังจากส่วนตัวใบแจ้งยอด:
    private int nIndex = 0;					
  4. เพิ่มคำlistViewตัวควบคุม คำปุ่มตัวควบคุม และเพิ่มimageListควบคุมไปยังแบบฟอร์ม ชื่อเริ่มต้นคือ listView1, button1 และ imageList1 ตามลำดับ
  5. ในหน้าต่างคุณสมบัติของbutton1ตั้งค่าปุ่มข้อความเลือกแฟ้มแล้ว เพิ่มโค้ดต่อไปนี้ในการbutton1_clickเหตุการณ์:
    IntPtr hImgSmall; //the handle to the system image listIntPtr hImgLarge; //the handle to the system image liststring fName; //  'the file name to get icon fromSHFILEINFO shinfo = new SHFILEINFO();   OpenFileDialog openFileDialog1 = new OpenFileDialog();openFileDialog1.InitialDirectory = "c:\\temp\\";openFileDialog1.Filter = "All files (*.*)|*.*";openFileDialog1.FilterIndex = 2;openFileDialog1.RestoreDirectory = true ;listView1.SmallImageList = imageList1;listView1.LargeImageList = imageList1;			if(openFileDialog1.ShowDialog() == DialogResult.OK) {     fName = openFileDialog1.FileName;     //Use this to get the small Icon     hImgSmall = Win32.SHGetFileInfo(fName, 0, ref shinfo,(uint)Marshal.SizeOf(shinfo),Win32.SHGFI_ICON |Win32.SHGFI_SMALLICON);    //Use this to get the large Icon    //hImgLarge = SHGetFileInfo(fName, 0,     //	ref shinfo, (uint)Marshal.SizeOf(shinfo),     //	Win32.SHGFI_ICON | Win32.SHGFI_LARGEICON);    //The icon is returned in the hIcon member of the shinfo struct    System.Drawing.Icon myIcon = System.Drawing.Icon.FromHandle(shinfo.hIcon);				    imageList1.Images.Add(myIcon);				    //Add file name and icon to listview    listView1.Items.Add(fName, nIndex++); }					
back to the top

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

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

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

คุณสมบัติ

รหัสบทความ: 319350 - การตรวจสอบครั้งสุดท้าย: 12/07/2015 09:15:54 - ฉบับแก้ไข: 5.0

Microsoft Visual Studio .NET 2003 Professional Edition, Microsoft Visual Studio .NET 2003 Enterprise Architect, Microsoft Visual Studio .NET 2003 Enterprise Developer, Microsoft Visual Studio .NET 2003 Academic Edition, 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 KB319350 KbMtth
คำติชม