网站首页 > 资源文章 正文
金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.
啥情况下系统字体会影响到游戏
游戏字体采用的是系统的字体,也就是说系统字体如果是宋体,游戏字体也是宋体。如果换一台电脑,系统字体是微软雅黑,那么游戏字体也会变成微软雅黑。(目前大部分游戏的字体都是采用系统字体)
如何兼容不同系统字体
小编之前看到的很多脚本,都是要求用户改变系统字体来适应脚本。 这样的方法会让用户觉得很麻烦,而且,如果有些系统字体无法修改成功就无法使用脚本。所以今天小编就不介绍这种方法,咱们来一起看看更方便的方法。
步骤
1 在QUI界面上画一个下拉列表框,命名为xitong
2 获取下拉列表框的值,如果选择的是win7系统则使用大漠的 GetDictInfo 函数,指定生成微软雅黑9号字体。
如果选择的是xp系统则使用大漠的 GetDictInfo 函数,指定生成宋体9号。
注意:为什么是9号字而不是10号字11号字呢?是这样的: 因为游戏里的字体是固定大小的,都是采用9号字体,不管系统宋体10号还是11号,游戏里都是宋体9号。GetDictInfo函数
函数功能简介:根据指定的文字,以及指定的系统字库信息,获取字库描述信息.
函数原型: string GetDictInfo(str,font_name,font_size,flag)
参数定义:
str 字符串: 需要获取的字符串
font_name 字符串: 系统字体名,比如"宋体"
font_size 整形数: 系统字体尺寸,这个尺寸一定要以大漠综合工具获取的为准.如何获取尺寸看视频教程.
flag 整形数: 字体类别 取值可以是以下值的组合,比如1+2+4+8,2+4. 0表示正常字体.
1 : 粗体
2 : 斜体
4 : 下划线
8 : 删除线
返回值: 字符串 返回字库信息,每个字符的字库信息用"|"来分割
示例:
- // 下面的代码是获取"回收站"这3个字符的字库信息,然后加入到字库1中.
- font_desc = dm.GetDictInfo("回收站","宋体",9,0)
- font_desc = split(font_desc,"|")
- count = ubound(font_desc)
- for i = 0 to count
- TracePrint font_desc(i)
- dm.AddDict 1,font_desc(i)
- next
复制代码
- 代码// 创建字库(字表, 字体, 字号, 字库ID, 文件路径[传空为不保存到字库文件])
- Sub CreateFont(Words, Font, Size, Index, Path)
- Dim TempStr
- TempStr = dm.GetDictInfo(Words, Font, Size, 0)
- TempArray = Split(TempStr,"|")
- For i = 0 to UBound(TempArray)
- dm.AddDict Index,TempArray(i)
- Next
- Erase TempArray // 释放不用的内存
- If Len(Path) > 0 Then
- Call dm.SaveDict(0, Path)
- End If
- End Sub
- // 初始化大漠
- Call register()
- Set dm = CreateObject("dm.dmsoft")
- Call dm.SetPath("c:\test")
- // 读取选项
- Select Case Form1.xitong.ListIndex
- Case 0
- FontName = "微软雅黑"
- Case 1
- FontName = "宋体"
- End Select
- Call CreateFont("我的电脑|网上邻居" ,FontName, 9, 0, "字库.txt")//调用创建字库函数
- //找字
- dm_ret = dm.FindStr(0,0,2000,2000,"我的电脑","ffffff",1.0,intX,intY)
- If intX >= 0 and intY >= 0 Then
- MessageBox "我的电脑"
- Else
- MessageBox "没找到"
- End If
- dm_ret = dm.FindStr(0,0,2000,2000,"网上邻居","ffffff",1.0,intX,intY)
- If intX >= 0 and intY >= 0 Then
- MessageBox "网上邻居"
- Else
- MessageBox "没找到"
- End If
- Sub register() //注册大漠
- Set ws = createobject("Wscript.Shell")
- ws.run "regsvr32 atl.dll /s"
- Set ws = nothing
- PutAttachment "c:\test", "dm.dll"
- PutAttachment ".\Plugin" ,"RegDll.dll"
- call Plugin.RegDll.Reg ( "c:\test\dm.dll")
- Set dm = createobject("dm.dmsoft")
- ver = dm.ver()
- If len(ver) = 0 Then
- MessageBox "插件注册失败,检查系统是否禁用了vbs脚本权限"
- EndScript
- End If
- End Sub
复制代码
注意:1、小编是xp系统,系统字体为宋体,9号字,所以小编拿电脑桌面上的 我的电脑和网上邻居作为例子。
2、 启动之后第一次运行选择了xp系统,第二次要选择win7系统的时候,需要按下保存设置,否则,再次启动qui会读取之前的下拉列表选择的信息,依然会切换到xp系统选项。演示
优化——判断当前系统字库是否已经生成过
咱们运行前面的程序,会发现启动的时间比较久,那是因为咱们每次运行脚本,都会按照使用者选择的系统生成一次字库。 生成字库所要用的时间是比较多的,如何解决这个问题呢?
方法: 首次执行完脚本后,获取下本台计算机的机器码,存放到ini文件中,每次执行前判断下,机器码是否是一样的,一样的则不执行字库生成。
优化步骤
1 读取记录机器码的setup.ini 文件里存放的机器码
2 获取当前电脑机器码,与ini文件中记录的机器码值进行对比,不相等,则执行生成字库。
- 3 获取当前电脑机器码,记录到ini文件中,下次再执行的时候,如果还是当前电脑,则不执行生成字库。代码// 创建字库(字表, 字体, 字号, 字库ID, 文件路径[传空为不保存到字库文件])
- Sub CreateFont(Words, Font, Size, Index, Path)
- Dim TempStr
- TempStr = dm.GetDictInfo(Words, Font, Size, 0)
- TempArray = Split(TempStr,"|")
- For i = 0 to UBound(TempArray)
- dm.AddDict Index,TempArray(i)
- Next
- Erase TempArray // 释放不用的内存
- If Len(Path) > 0 Then
- Call dm.SaveDict(0, Path)
- End If
- End Sub
- // 初始化大漠
- Call register()
- Set dm = CreateObject("dm.dmsoft")
- Call dm.SetPath("c:\test")
- // 读取选项
- Select Case Form1.xitong.ListIndex
- Case 0
- FontName = "微软雅黑"
- Case 1
- FontName = "宋体"
- End Select
- // 如果字库存在,就检测是否换过机器,否则直接产生字库
- If dm.IsFileExist("c:\test\字库.txt") Then
- OldCode = Plugin.File.ReadINI("Setup","机器码","c:\test\Setup.ini")//读取ini文件里的机器码值
- NewCode = dm.GetMachineCode() //获取当前机器码值
- If OldCode <> NewCode Then
- Call CreateFont("我的电脑|网上邻居" ,FontName, 9, 0, "字库.txt")
- Call Plugin.File.WriteINI("Setup","机器码",NewCode,"c:\test\Setup.ini") //将机器码值写入ini文件
- Else
- call dm.SetDict(0,"c:\test\字库.txt")
- End If
- Else
- Call CreateFont("我的电脑|网上邻居" ,FontName, 9, 0, "字库.txt")
- Call Plugin.File.WriteINI("Setup","机器码",NewCode,"c:\test\Setup.ini") //将机器码值写入ini文件
- End If
- //找字
- dm_ret = dm.FindStr(0,0,2000,2000,"我的电脑","ffffff",1.0,intX,intY)
- If intX >= 0 and intY >= 0 Then
- MessageBox "我的电脑"
- Else
- MessageBox "没找到"
- End If
- dm_ret = dm.FindStr(0,0,2000,2000,"网上邻居","ffffff",1.0,intX,intY)
- If intX >= 0 and intY >= 0 Then
- MessageBox "网上邻居"
- Else
- MessageBox "没找到"
- End If
- Sub register() //注册大漠
- Set ws = createobject("Wscript.Shell")
- ws.run "regsvr32 atl.dll /s"
- Set ws = nothing
- PutAttachment "c:\test", "dm.dll"
- PutAttachment ".\Plugin" ,"RegDll.dll"
- call Plugin.RegDll.Reg ( "c:\test\dm.dll")
- Set dm = createobject("dm.dmsoft")
- ver = dm.ver()
- If len(ver) = 0 Then
- MessageBox "插件注册失败,检查系统是否禁用了vbs脚本权限"
- EndScript
- End If
- End Sub
复制代码
系统默认字体用户修改过?
例如:win7系统的字体 默认是微软雅黑,用户改成黑体了,这种情况怎么办呢?
这种情况其实很好办,咱们可以画一个文本框,让用户自己输入自己当前系统是什么字体。是不是很简单。所以再次优化后的脚本,就支持下拉列表框选择系统字体,和手动输入系统字体。 咱们来看看优化后的脚本。
演示
猜你喜欢
- 2024-09-21 Win10正式版DPI缩放技术独家详解(win10dpi缩放设置)
- 2024-09-21 一打开Word还以为自己眼花了,显示文字重叠怎么办?
- 2024-09-21 Win10高分屏更改DPI后字体模糊?试试这个小工具
- 2024-09-21 动画 | 学校课堂中的识字笔画动画,在 PPT 中该怎么制作呢?
- 2024-09-21 Mentor Xpedition教程5(mentor 7.9.5版本教程)
- 2024-09-21 二十年不变!Windows 11里这8个地方很Windows XP
- 2024-09-21 将Windows7运用到XP中(在win7)
- 2024-09-21 设计师的痛--字丑写不好,字体找不到
- 2024-09-21 苦大仇深!这款设计师跪求不要使用的字体,到底错在哪?
- 2024-09-21 内存或磁盘空间不足,word无法显示所请求的字体?几步解决问题
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)