Im Batch-Dateiskript kopiert die erste unterste Zeile myFont.ttf in das Windows-Schriftartverzeichnis und die zweite Zeile registriert sie in der Registrierung.Schriftart-Batch-Datei und VBScript installieren
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
Eine Anwendung sendet die WM_FONTCHANGE Nachricht an alle Fenster der obersten Ebene im System nach den Pool der Font-Ressourcen zu ändern.
Um diese Nachricht zu senden, rufen Sie die Funktion SendMessage mit den folgenden Parametern auf.
folgenden Code ist in VB-Programmiersprache, aber ich muss WM_FONTCHANGE mit SendMessage-Funktion im Batch-Skript oder zumindest VBScript senden, aber ich weiß nicht, wie es in Batch-Datei Skript, Wenn Sie wissen, mir bitte helfen, Vielen Dank.
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
Bei StackOverflow handelt es sich nicht um einen Code-Konvertierungsservice, bei dem Sie Code in einer Sprache in der gewünschten Sprache schreiben und Code für Sie erstellen. Wo ist der Code, den Sie geschrieben haben, in einer der beiden Sprachen zu tun, und auf welches ** spezifische Problem haben Sie dabei gestoßen? –
Weder VBScript noch Batch können tun, was Sie wollen. –
[Powershell könnte tun, was Sie wollen] (https://github.com/wormeyman/FindFonts/blob/master/Add-Font.ps1) – JosefZ