| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1761 人关注过本帖, 2 人收藏
标题:VFP“结构类型”应用,PE资源表---图标
只看楼主 加入收藏
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10606
专家分:43182
注 册:2014-5-20
结帖率:100%
收藏(2)
已结贴  问题点数:20 回复次数:14 
VFP“结构类型”应用,PE资源表---图标
VFP“结构类型”应用,PE资源表---图标

相关帖:https://bbs.bccn.net/viewthread.php?tid=510323&extra=&page=1

提取windows图标的问题,当时用WinAPI搜索了一下,发现搜出来的图标并不
全面,用GDI+导出来好象大都也是32*32或16*16的格式,头脑有点发麻了,是
不是没用对劲?

既然图标是放在PE文件里的,那就从PE文件着手,直接从PE文件中提取出来,果然
真有不少,同一款图标从256*256到16*16也有10个规格的。

用VFP来解释PE文件也不容易,尤其图标是存放在PE资源表的。PE资源表的数据结构
算是比较复杂,使用了不少结构类型数据。通常VFP面对结构类型数据比较难读懂难
理解。

想起较早前写过VFP“结构类型”的东东,当时只是纸上谈兵,没有实战过。这次就
用他上阵试试刀。主要用他来达到两个目的:

    1、实现数据结构链表,用独立模块来处理图标数据,避免用DBF,有待以后转业。
    2、读写内存结构块数据,方便获取PE各类结构块数据。

代码有点杂就不贴了,打包一起有兴趣的可以下来看看,有问题可以共同探讨。
代码只有与PE_ICON相关部份,主程序项目在:

...\PE_File\PE_Resource\PE_Icon\PE_Icon.pjx

测试最好先保留这个目录结构,测试环境:Win10 + VFP9

代码主要实现:浏览PE资源表的图标信息;提取PE资源表的图标数据,VFP直接
引用这些数据应用到image,无需使用ICO文件。

PE_File.rar (686.22 KB)


图片附件: 游客没有浏览图片的权限,请 登录注册


搜索更多相关主题的帖子: 资源 数据 VFP 图标 结构 
2022-11-02 22:05
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:350
专家分:330
注 册:2013-10-4
收藏
得分:3 
粗粗看一遍,兴奋得就跟一夜睡了三四位失足妇女一般,乐得合不拢嘴!
忙不迭地赶上来致敬——
确实博大精深!佩服佩服!
2022-11-02 22:38
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1710
专家分:3318
注 册:2012-2-29
收藏
得分:3 
非常感谢!
2022-11-03 06:08
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1088
专家分:2677
注 册:2015-12-30
收藏
得分:3 
高!大!上!
向吹版致敬
2022-11-03 08:03
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:3 
厉害!
声明:我不是称赞楼主,而是称赞2楼的勇士

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2022-11-03 08:54
sych
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:300
专家分:436
注 册:2019-10-11
收藏
得分:3 
厉害了,吹版主,谢谢分享
2022-11-03 09:09
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:702
专家分:2760
注 册:2018-3-13
收藏
得分:3 
为何我的Win10,左边表格没有显示吹版截图上的图标列表信息?

知道了,手工选一次文件列表那个组合框就出来了

[此贴子已经被作者于2022-11-3 10:00编辑过]


这家伙很懒,啥也没留下
2022-11-03 09:51
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:3 
好帖,需要虚心学习学习.
2022-11-03 10:13
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:786
专家分:1160
注 册:2021-10-13
收藏
得分:3 
管他用不用得着,先下了再说。
2022-11-03 11:43
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10606
专家分:43182
注 册:2014-5-20
收藏
得分:0 
以下是引用sam_jiang在2022-11-3 11:43:20的发言:

管他用不用得着,先下了再说。

这个应用目的只有一个:直接引用系统图标资源,也就是说程序使用的图标是从系统资源中获取,顶多也只能说表现得有点与windows近亲吧了,喜欢玩个性的应该就不感兴趣。

但从编程的角度来看,所用手法也许超出VFP的范围,有些概念VFP是没有的,如指针、结构、链表。

    PE(Portable Executable)是Windows操作系统中的核心文件格式,PE文件格式相对开放引起了广大计算机编程人员的兴趣。通过对PE格式的理解,程序员不仅可以了解操作系统加载可执行文件的过程,还可以学习到操作系统对进程和内存进行管理的相关知识。同时,通过一些技术手段,对PE文件实施变形或打补丁,还可以实现各种不同的应用,如汉化、加密解密、计算机安全、PE病毒;引用PE文件中的资源数据,如光标、位图、图标等;通过导入表了解程序使用了那些API,通过导出表了解程序给用户提供了那些API;等等。了解和掌握PE文件格式,通过对PE文件进行编程,解决各种与PE文件有关的问题。

有兴趣的话可以深入探讨一下。
2022-11-03 12:07
快速回复:VFP“结构类型”应用,PE资源表---图标
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028517 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved