منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كود لأخذ الأيكون من ملفexe
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : egyption-coder


كود :
[SIZE=1]
[SIZE=4][color=blue]Dim a As New OpenFileDialog[/color][/SIZE]
[SIZE=4][color=blue]Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As IntPtr, ByVal lpszExeFileName As String, ByVal nIconIndex As Integer) As IntPtr[/color][/SIZE]
[SIZE=4][color=blue]Private Sub opebtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles opebtn.Click[/color][/SIZE]
[SIZE=4][color=blue]namelbl.Text = "File name : " & a.FileName[/color][/SIZE]
[SIZE=4][color=blue]a.Filter = "Win32 PE Files (*.Exe,*.Dll,*.Scr,*.cpl)|*.exe;*.dll;*.scr;*.cpl"[/color][/SIZE]
[SIZE=4][color=blue]If a.ShowDialog = Windows.Forms.DialogResult.OK Then[/color][/SIZE]
[SIZE=4][color=blue]Dim Handler As IntPtr[/color][/SIZE]
[SIZE=4][color=blue]Handler = ExtractIcon(Me.Handle, a.FileName, -1)[/color][/SIZE]
[SIZE=4][color=blue]If Handler.ToInt32 = 0 Then[/color][/SIZE]
[SIZE=4][color=blue]MsgBox("No icon in this File sorry.....", MsgBoxStyle.Exclamation, "Error")[/color][/SIZE]
[SIZE=4][color=blue]Exit Sub[/color][/SIZE]
[SIZE=4][color=blue]End If[/color][/SIZE]
[SIZE=4][color=blue]total.Text = "Total icons : " & Handler.ToInt32[/color][/SIZE]
[SIZE=4][color=blue]img.Images.Clear()[/color][/SIZE]
[SIZE=4][color=blue]list.Items.Clear()[/color][/SIZE]
[SIZE=4][color=blue]Dim i As Integer[/color][/SIZE]
[SIZE=4][color=blue]i = Handler.ToInt32[/color][/SIZE]
[SIZE=4][color=blue]prog.Maximum = i[/color][/SIZE]
[SIZE=4][color=blue]For i = 1 To i[/color][/SIZE]
[SIZE=4][color=blue]Handler = ExtractIcon(Me.Handle, a.FileName, i - 1)[/color][/SIZE]
[SIZE=4][color=blue]img.Images.Add(i, System.Drawing.Icon.FromHandle(Handler))[/color][/SIZE]
[SIZE=4][color=blue]list.Items.Add("", Val(i - 1).ToString, i - 1)[/color][/SIZE]
[SIZE=4][color=blue]prog.Value = i[/color][/SIZE]
[SIZE=4][color=blue]Next[/color][/SIZE]
[SIZE=4][color=blue]End If[/color][/SIZE]
[/SIZE]