科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Visual Basic设计图标提取工具

Visual Basic设计图标提取工具

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文详细解说用VB设计图标工具的原理和各个步骤

作者:许晓静 来源:yesky 2007年10月15日

关键字: Visual Basic 设计 图标提取工具

  • 评论
  • 分享微博
  • 分享邮件
在一些可执行模块包括*.EXE(可执行文件),*.DLL(Dynamic Link Library, 即动态连接库),*.CPL( 控制面板模块)等都含有图标。其中,不少图标做得非常漂亮,如何将其“据为己有”?你一定用过诸如“东日探囊”之类的查看图标的小东东,但是有没有想过自己编写一个类似的小程序,我们知道:包含在可执行模块中的图标资源是以二进制数据(也叫资源,不懂的查书去) 的形式存储,我们需要把二进制数据转换成图标文件的格式,然后再存为图标文件(*.ICO)。

  打开VB,新建一窗体,其caption值为“图标提取工具”,添加部件Microsoft Common Dialog Control6.0,并在窗体上放置两个common dialog,分别命名为:dlgsave和dlgopen,用于制作保存和打开的通用对话框。放置一个textbox,命名为textbox,用于显示选择文件后的文件路径及文件名,再放置两个命令按钮,caption值分别为:“打开文件”、“取消”,放置一个picturebox,命名为Iconbox,用于显示提取出来的图标,在picturebox下方放置一个hscrollbar,用于多个图标的选择,界面排列如图(图1) 准备工作做完后,开始代码的编写。



  在工程中新建一模块,进行API声明:

Option Explicit
Declare Function ExtractIcon& Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long)
Declare Function DrawIcon& Lib "user32" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long, ByVal hIcon As Long)

  ExtractIcon用于判断一个可执行文件或DLL中是否有图标存在,并将其提取出来,返回值为Long,如成功,返回指向图标的句柄;如文件中不存在图标,则返回零。如果nIconIndex设为-1,就返回文件中的图标总数;DrawIcon函数则在指定的位置画一个图标。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章