关闭

如何获取exe,dll中的图标以及源程序

标签: exedllfunctionstringscrolluser
2991人阅读 评论(0) 收藏 举报
分类:

今天网上有人问到这个,随便给解释了下,具体请看:

http://community.csdn.net/Expert/topic/3417/3417578.xml?temp=.30534

我出的源程序:

新建一个工程,在窗体上加上两个Label: Label1和Label2;以及一个VScroll1和Picture1
示例源代码如下:

Option Explicit

Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Private Declare Function ExtractIcon Lib "shell32" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long

'这个路径根据你的系统改变
Private Const sIconFile As String = "c:/winnt/system32/User32.dll"

Private Sub Form_Load()
   Dim hIcon As Long
   Dim nIconCount As Long
   nIconCount = ExtractIcon(0&, sIconFile, -1)
   If nIconCount > 0 Then
      VScroll1.Min = 0
      VScroll1.Max = nIconCount - 1
      VScroll1.Value = 0
      Label1.Caption = nIconCount & " 个图标"
      Call VScroll1_Change
   End If
End Sub

Private Sub VScroll1_Change()
   Dim index As Long
   Dim hIcon As Long
   index = VScroll1.Value
   If index <= VScroll1.Max Then
      Picture1.Cls
      hIcon = ExtractIcon(0&, sIconFile, index)
      Call DrawIcon(Picture1.hdc, 0, 0, hIcon)
      Call DestroyIcon(hIcon)
      Label2.Caption = "序号: " & index
   End If
End Sub

Private Sub VScroll1_Scroll()
   Dim index As Long
   Dim hIcon As Long
   index = VScroll1.Value
   If index <= VScroll1.Max Then
      Picture1.Cls
      hIcon = ExtractIcon(0&, sIconFile, index)
      Call DrawIcon(Picture1.hdc, 0, 0, hIcon)
      Call DestroyIcon(hIcon)
      Label2.Caption = "序号: " & index
   End If
End Sub

'-------------------------------------------
' 转载请注明出处
' 作者:唐细刚
' 邮箱:tanaya@163.com
'-------------------------------------------

0
0
查看评论

【加密解密】对exe文件的加密解密 <含源代码》

这里的代码完成对一个可执行文件(exe)的加密解密。这是木马病毒传播移植的基础。
  • jobbofhe
  • jobbofhe
  • 2016-04-29 17:33
  • 514

VS2010获取程序自身的版本号

在程序的标题栏中显示版本号有助于用户快速了解自己所用程序的版本。 在关于对话框中也会显示程序的版本号。 在资源文件中设置好版本信息后,可以在程序的属性中查看到程序的版本信息。 改个版本号至少要修改3个地方,太麻烦了。 可以用下面的方法直接读出程序的版本号,将版本号用程序控制显示在标题栏以及关于对...
  • codehat
  • codehat
  • 2017-11-20 10:38
  • 377

如何获取DLL,EXE中的图标

http://www.kennyandkarin.com/Kenny/CodeCorner/Tools/IconBrowser/ Icon Browser: An Exercise in Resource Management By Kenny Kerr, November 2001 S...
  • hxhbluestar
  • hxhbluestar
  • 2004-08-25 21:21
  • 5721

获取.exe/.dll/.icon文件的Icon图标资源

获取.exe/.dll/.icon文件的Icon图标资源
  • qq2399431200
  • qq2399431200
  • 2014-01-04 19:23
  • 2964

vs 获取当前程序文件的路径方法

vc获取当前程序文件的路径方法  1.方法1    char pBuf[MAX_PATH];            ...
  • u011056371
  • u011056371
  • 2016-05-12 11:39
  • 3255

C#版 CSDN技术社区离线浏览助手 源代码,可能还有些问题,因为CSDN社区改版了,帖子读取不到了,大家试着改改地址,程序本身是没有问题的,在VS2005下可顺利编译。运行时请将csdn.mdb拷贝至Bin目录下,与EXE文件在同级目录。

  • 2010-02-23 11:21
  • 111KB
  • 下载

Qt之提取exe/dll/icon文件图标

简述在 Windows 中,文件查看有很多模式,比如: 缩略图 16*16 平铺 48*48 图标 32*32 列表 16*16 分别对应了多个不同大小的图标。如果我们要从限定的可执行文件(exe)、动态链接库(dll)、或者图标文件中提取图标,可以使用 ExtractIconEx、ExtractI...
  • u011012932
  • u011012932
  • 2016-09-11 11:46
  • 4092

WinAPI: ExtractIcon - 获取 EXE、DLL 或 ICO 文件中的图标

//声明: ExtractIcon(   hInst: HINST;          {调用函数的程序实例}   lpszExeFileName: PChar; {文件路径; 文件可以是 *.exe、*.dll、*.ico} ...
  • younizhizu2016
  • younizhizu2016
  • 2016-07-17 12:54
  • 161

在Windows下C++获得程序路径

在Windows下C++编程经常需要获得程序路径,因为很多文件都保存在安装文件夹下。 首先百度一下! 1、GetModuleFileName函数定义如下: DWORD WINAPI GetModuleFileName( _In_opt_ HMODULE hModule, _Out_...
  • jean7155
  • jean7155
  • 2014-12-19 14:52
  • 4905

如何将VC++程序纯净打包(VS2013+OpenCV 2.4.9项目生成EXE文件如何在其他电脑上直接运行)

VS2013+OpenCV 2.4.9项目生成EXE文件如何在其他电脑上直接运行
  • duan19920101
  • duan19920101
  • 2016-12-09 11:47
  • 1872
    个人资料
    • 访问:2279306次
    • 积分:29225
    • 等级:
    • 排名:第209名
    • 原创:684篇
    • 转载:135篇
    • 译文:0篇
    • 评论:475条
    文章存档
    最新评论