这两个站是玩电脑的朋友好资源!
本人只为大家做教程,不为大家卖广告!
也只希望大家能看到我的教程,和大家一起研究
下面我给大家做的动画是:用VB编写一个简单的图标提取器
这作为木马换图标功能的基本,
由于为了动画的效果,我在教程中只用复制来操作了 代码如下:
看我操作吧``! 加个控件
接下来加代码吧
Option Explicit
Private Sub Command1_Click() On Error Resume Next With Dlg .FileName = sDestFile .CancelError = True .Action = 2 If Err Then Err.Clear Exit Sub End If sDestFile = .FileName SavePicture Picture1.Image, sDestFile '保存图标 End With End Sub
Private Sub Command2_Click() Dim a% On Error Resume Next With Dlg .FileName = sSourcePgm .CancelError = True .DialogTitle = "选择含有图标的EXE或DLL文件" .Filter = "Icon Resources (*.ico;*.exe;*.dll)|*.ico;*.exe;*.dll|All files|*.*" .Action = 1 ' 显示打开对话框 If Err Then Err.Clear ' 清除所有错误 Exit Sub End If sSourcePgm = .FileName DestroyIcon lIcon '清除已画的图标 Do lIcon = ExtractIcon(App.hInstance, sSourcePgm, a) '检查是否含有图标 If lIcon = 0 Then Exit Do a = a + 1 DestroyIcon lIcon Loop If a = 0 Then MsgBox "文件中不含图标!" End If Label1.Caption = "本文件内部共有 " & a & IIf(a = 1, " 个图标", " 个图标Images") VScroll1.Max = IIf(a = 0, 0, a - 1) VScroll1.Value = 0 VScroll1_Change End With End Sub
Private Sub VScroll1_Change() DestroyIcon lIcon Picture1.Cls lIcon = ExtractIcon(App.hInstance, sSourcePgm, VScroll1.Value) Picture1.AutoSize = True Picture1.AutoRedraw = True DrawIcon Picture1.hdc, 0, 0, lIcon Picture1.Refresh End Sub
加一个模块:
模块: Option Explicit
' 设置全局变量
Global lIcon& Global sSourcePgm$ Global sDestFile$
' API函数声明
' 用于判断一个可执行文件或DLL文件中是否有图标存在,并将其提取出来。 Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long ' 用于在指定的位置画一个图标 Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long ' 用于清除图标 Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
运行一下: 看下,,有错误
Ok
这是图标吧,呵呵`
教程就到这里了,如果换EXE文件图标下次再做吧,这个教程没做好希望大家别见怪``!
如果大家不明白,可以找我,或是要代码,也可以找我,,我这有很多的源程序
教程就这样``希望那里耍黑客的好友们,别想着去黑人家,想想编程,这才是黑客的最基本的``886
|