在C:\Windows\Fonts下复制自己的字体
背景
在回归测试的时候同事发现的bug,使用我们软件中自带的字体,会出现乱码的情况。查了下原因由于C:\Windows\Fonts下没有我们的字体
解决过程
原本以为,在代码里加上复制命令就可以了,试了一下,发现复制到C:\Windows\Fonts下,显示的路径不正确,如下图:
可以看到,其他的字体都是在C:\Windows\Fonts下,而copy过来的字体路径是在用户的路径下。
头秃了很久,后来才发先需要加注册表,当然了,也要加上管理员权限。所以写了一个批处理的文件。附上如下代码
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
@echo off
echo A|xcopy "Fonts\FZLTHJW.TTF" %windir%\fonts\
echo 安装完毕,任意键退出....
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "FontName (TrueType)" /t REG_SZ /d FZLTHJW.TTF /f
pause>nul
exit
写在最后
一直想写一个exe,但是用python的话不知道如何像批处理命令一样添加管理员权限。如果有知道的大神麻烦告知。