标题:VFP“结构类型”应用,PE资源表---图标
只看楼主
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
结帖率:100%
已结贴  问题点数: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: 4
等 级:业余侠客
威 望:4
帖 子:317
专家分:203
注 册:2013-10-4
得分:3 
粗粗看一遍,兴奋得就跟一夜睡了三四位失足妇女一般,乐得合不拢嘴!
忙不迭地赶上来致敬——
确实博大精深!佩服佩服!
2022-11-02 22:38
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:3 
非常感谢!
2022-11-03 06:08
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:3 
高!大!上!
向吹版致敬
2022-11-03 08:03
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:3 
厉害!
声明:我不是称赞楼主,而是称赞2楼的勇士

活到老,学到老! http://www. E-mail:hu-jj@
2022-11-03 08:54
sych
Rank: 3Rank: 3
等 级:论坛游侠
威 望:6
帖 子:179
专家分:183
注 册:2019-10-11
得分:3 
厉害了,吹版主,谢谢分享
2022-11-03 09:09
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:3 
为何我的Win10,左边表格没有显示吹版截图上的图标列表信息?

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

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

2022-11-03 09:51
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:3 
好帖,需要虚心学习学习.
2022-11-03 10:13
sam_jiang
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:542
专家分:781
注 册:2021-10-13
得分:3 
管他用不用得着,先下了再说。
2022-11-03 11:43
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-510517-1-1.html




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

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