开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3970|回复: 93
收起左侧

[易源码分享] 判断系统是否已经安装了某字体

[复制链接]
结帖率:100% (26/26)
发表于 2024-3-24 15:39:15 | 显示全部楼层 |阅读模式   山西省太原市
分享源码
界面截图: -
是否带模块: 调用了模块
备注说明: -
本帖最后由 梦寻简单 于 2024-3-25 20:55 编辑

来自于问答区的一个问题:https://bbs.125.la/thread-14815784-1-1.html
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
i整数型 
调试输出 (判断字体是否存在 (“Avenir LT Pro 55 Roman”, “AvenirLTPro-Oblique”))
子程序名返回值类型公开备 注
判断字体是否存在逻辑型 
参数名类 型参考可空数组备 注
字体名称文本型
字体全称文本型
变量名类 型静态数组备 注
hdc整数型 
lpLogfont整数型 
lfFaceName字节集 
ret整数型 
i整数型 
lfFaceName = 编码_Ansi到Unicode (字体名称)
hdc = GetDC (0)
lpLogfont = LocalAlloc (64, 92)
' lpLogfont.lfCharSet = 1
__set_byte (lpLogfont, 23, 1)
' lpLogfont.lfFaceName = lfFaceName
计次循环首 (取字节集长度 (lfFaceName), i)
__set_byte (lpLogfont, 28 + i - 1, lfFaceName [i])
计次循环尾 ()
ret = EnumFontFamiliesExW (hdc, lpLogfont, 到整数 (&EnumFontFamProc), 取变量数据地址 (字体全称), 0)
LocalFree (lpLogfont)
ReleaseDC (0, hdc)
返回 (选择 (ret = 0, 真, ))
子程序名返回值类型公开备 注
EnumFontFamProc整数型 
参数名类 型参考可空数组备 注
lpelfe整数型
lpntme整数型
FontType整数型
lParam整数型
变量名类 型静态数组备 注
字体全称文本型 
字体全称 = 指针到文本 (lParam)
如果真 (取文本长度 (字体全称) = 0)
返回 (0)
如果真 (编码_Unicode到Ansi (指针_到字节集W (lpelfe + 92)) = 字体全称)
' elfStyle,如果想看,也可以输出下看看嘛。
' 编码_Unicode到Ansi (指针_到字节集W (lpelfe + 220))
返回 (0)
返回 (1)


i支持库列表   支持库注释   
spec特殊功能支持库
  
DLL命令名返回值类型公开备 注
EnumFontFamiliesExW整数型 
DLL库文件名:
gdi32
在DLL库中对应命令名:
EnumFontFamiliesExW
参数名类 型传址数组备 注
hdc整数型
lpLogfont整数型
lpProc整数型
lParam整数型
dwFlags整数型


引用了精易模块,下载入口:https://bbs.125.la/forum-125-1.html

文档参考:EnumFontFamiliesExW 函数 (wingdi.h) - Win32 apps | Microsoft Learn

评分

参与人数 19精币 +20 收起 理由
wa690602724 + 1 感谢分享,很给力!~
keyi5566 + 1 感谢分享,很给力!~
Zźh926 + 1 感谢分享,很给力!~
ican8 + 1 感谢分享,很给力!~
YzZA + 1 感谢分享,很给力!~
无尘666 + 1 感谢分享,很给力!~
t176 + 1 感谢分享,很给力!~
望尘莫及 + 1 感谢分享,很给力!~
qweipuq + 1 感谢分享,很给力!~
1828902364 + 1 感谢分享,很给力!~
XXGL2005 + 1 感谢分享,很给力!~
※逍遥游※ + 1 感谢分享,很给力!~
qiyuer + 1 感谢分享,很给力!~
聿聿 + 1 感谢分享,很给力!~
ewake + 1 感谢分享,很给力!~
光影魔术 + 2 新技能已get√
kyo9766 + 1 感谢分享,很给力!~
多多帅吧 + 1 很赞同,谢谢!
財財 + 1 感谢分享,很给力!~

查看全部评分


结帖率:100% (4/4)

签到天数: 27 天

发表于 2024-5-6 07:52:04 | 显示全部楼层   山东省淄博市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 2024-4-13 20:07:40 | 显示全部楼层   安徽省宣城市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:67% (4/6)

签到天数: 5 天

发表于 2024-4-2 06:29:53 | 显示全部楼层   浙江省台州市
E: 判断系统是否已经安装了某字体 [修改]
回复 支持 反对

使用道具 举报

发表于 2024-4-1 00:19:00 | 显示全部楼层   甘肃省天水市
支持55555支持支持支持
回复 支持 反对

使用道具 举报

结帖率:67% (2/3)

签到天数: 23 天

发表于 2024-3-31 10:43:46 | 显示全部楼层   贵州省黔西南布依族苗族自治州
赠人玫瑰手有余香
回复 支持 反对

使用道具 举报

结帖率:76% (13/17)

签到天数: 14 天

发表于 2024-3-31 09:10:49 | 显示全部楼层   贵州省贵阳市
        感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:79% (15/19)

签到天数: 25 天

发表于 2024-3-31 02:31:09 | 显示全部楼层   湖南省长沙市
.版本 2
.支持库 spec

.子程序 __启动窗口_创建完毕
.局部变量 i, 整数型

调试输出 (判断字体是否存在 (“Avenir LT Pro 55 Roman”, “AvenirLTPro-Oblique”))

.子程序 判断字体是否存在, 逻辑型, 公开
.参数 字体名称, 文本型
.参数 字体全称, 文本型, 可空
.局部变量 hdc, 整数型
.局部变量 lpLogfont, 整数型
.局部变量 lfFaceName, 字节集
.局部变量 ret, 整数型
.局部变量 i, 整数型

lfFaceName = 编码_Ansi到Unicode (字体名称)
hdc = GetDC (0)
lpLogfont = LocalAlloc (64, 92)
' lpLogfont.lfCharSet = 1
__set_byte (lpLogfont, 23, 1)
' lpLogfont.lfFaceName = lfFaceName
.计次循环首 (取字节集长度 (lfFaceName), i)
    __set_byte (lpLogfont, 28 + i - 1, lfFaceName <i>)
.计次循环尾 ()
ret = EnumFontFamiliesExW (hdc, lpLogfont, 到整数 (&EnumFontFamProc), 取变量数据地址 (字体全称), 0)
LocalFree (lpLogfont)
ReleaseDC (0, hdc)
返回 (选择 (ret = 2, 真, 假))

.子程序 EnumFontFamProc, 整数型
.参数 lpelfe, 整数型
.参数 lpntme, 整数型
.参数 FontType, 整数型
.参数 lParam, 整数型
.局部变量 字体全称, 文本型

字体全称 = 指针到文本 (lParam)
.如果真 (取文本长度 (字体全称) = 0)
    返回 (2)
.如果真结束
.如果真 (编码_Unicode到Ansi (指针_到字节集W (lpelfe + 92)) = 字体全称)
    ' elfStyle
    ' 编码_Unicode到Ansi (指针_到字节集W (lpelfe + 220))
    返回 (2)
.如果真结束
返回 (1)
回复 支持 反对

使用道具 举报

结帖率:92% (11/12)

签到天数: 12 天

发表于 2024-3-30 23:25:49 | 显示全部楼层   安徽省淮南市
看看看看。
回复 支持 反对

使用道具 举报

结帖率:100% (7/7)

签到天数: 16 天

发表于 2024-3-30 23:00:05 | 显示全部楼层   黑龙江省大庆市
牛皮,支持,谢谢分享。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表