【发布时间】:2016-06-29 23:20:17
【问题描述】:
在批处理文件脚本中,下面第一行将 myFont.ttf 复制到 Windows 字体目录中,第二行将其注册到注册表中。
XCOPY "myFont.ttf" "C:\Windows\Fonts"
REG add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "myFont (TrueType)" /t REG_SZ /d myFont.ttf /f
应用程序在更改字体资源池后向系统中的所有顶级窗口发送 WM_FONTCHANGE 消息。
要发送此消息,请使用以下参数调用 SendMessage 函数。
以下代码是 VB 编程语言,但我需要在批处理文件脚本或至少 vbscript 中使用 SendMessage 函数发送 WM_FONTCHANGE,但我不知道如何在批处理文件脚本中发送,如果你知道请帮助我,谢谢.
Private Const HWND_BROADCAST = &HFFFF&
Private Const WM_FONTCHANGE = &H1D
Private Declare Function AddFontResource Lib "gdi32" Alias "AddFontResourceA" (ByVal lpFileName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Sub Form_Load()
Dim res As Long
res = AddFontResource("C:\Fonts\Nordic__.ttf")
If res > 0 Then
SendMessage HWND_BROADCAST, WM_FONTCHANGE, 0, 0
MsgBox res & " fonts were added!"
End If
End Sub
【问题讨论】:
-
StackOverflow 不是代码转换服务,您可以在其中发布以您想要的语言编写的代码,我们会为您生成代码。您尝试用这两种语言编写的代码在哪里,您在这样做时遇到了什么具体问题?
-
VBScript 和批处理都不能做你想做的事。
标签: batch-file vbscript