最近发现了一个好玩的玩意,名字叫易语言,据说是中文编程语言,简单看了看,写了一个小玩意实现功能,实际上大部分功能基本需要使用额外的脚本实现,这里只给大家提供一个思路,感觉比较好的就是容易生成单文件,无需重复打包过程,下面浅析一下过程
要实现的功能
获取主机SN,并将主机名命名为自定义字符+SN
拆解实现
1.获取SN
2.将SN转换为常量
3.修改到注册表
1.获取SN
通过我们前面文章中介绍的,使用一条cmd命令查询sn并输出结果到文本
cmd.exe /c wmic csproduct get IdentifyingNumber>>c:\sn.txt
2.将SN转换为常量
在我们使用易语言读取SN的时候发现读到的是乱码,怀疑是编码问题,所以我们需要将utf-8转换成antsi才能被易语言识别
转换我使用的是powershell脚本
PowerShell -Command "& {get-content C:\sn.txt -encoding utf8 | set-content C:\sn1.txt -encoding ASCII}"
我们将转换的结果又生成了一个文本
我们在用易语言读文本结果
编辑框1.内容 = 到文本 (读入文件 (“c:\sn1.txt”))
读出来的并不只有SN,我们需要提纯处理,只获取SN的八位数字
文本变量 = 取文本中间 (编辑框1.内容, 22, 8)
编辑框3.内容 = 文本变量
3.修改到注册表实现改主机名
如果真 (写注册项 (4, “System\CurrentControlSet\Control\ComputerName\ActiveComputerName\ComputerName”, 编辑框2.内容 + “-” + 编辑框3.内容) = 真)
.如果真 (写注册项 (4, “System\CurrentControlSet\Services\Tcpip\Parameters\NV Hostname”, 编辑框2.内容 + “-” + 编辑框3.内容) = 真)
.如果真 (写注册项 (4, “System\CurrentControlSet\Services\Tcpip\Parameters\Hostname”, 编辑框2.内容 + “-” + 编辑框3.内容) = 真)
信息框 (“修改成功”, 0, )