Windows altında komut yazmanın modern yolu PowerShell kullanıyor. nedense, PowerShell kullanamıyorsanız, varsa, WSH WinAPI işlevlerini yürütmek amacıyla DynamicWrapperX gerekir
#requires -version 2.0
param([bool]$enable)
$signature = @'
[DllImport("user32.dll")]
public static extern bool SystemParametersInfo(
uint uiAction,
uint uiParam,
uint pvParam,
uint fWinIni);
'@
$SPI_SETFONTSMOOTHING = 0x004B
$SPI_SETFONTSMOOTHINGTYPE = 0x200B
$SPIF_UPDATEINIFILE = 0x1
$SPIF_SENDCHANGE = 0x2
$FE_FONTSMOOTHINGCLEARTYPE = 0x2
$winapi = Add-Type -MemberDefinition $signature -Name WinAPI -PassThru
if ($enable)
{
[void]$winapi::SystemParametersInfo($SPI_SETFONTSMOOTHING, 1, 0, $SPIF_UPDATEINIFILE -bor $SPIF_SENDCHANGE)
[void]$winapi::SystemParametersInfo($SPI_SETFONTSMOOTHINGTYPE, 0, $FE_FONTSMOOTHINGCLEARTYPE, $SPIF_UPDATEINIFILE -bor $SPIF_SENDCHANGE)
}
else
{
[void]$winapi::SystemParametersInfo($SPI_SETFONTSMOOTHING, 0, 0, $SPIF_UPDATEINIFILE -bor $SPIF_SENDCHANGE)
}
: Aşağıdaki komut dosyası Windows XP SP3 edinilebilir sürüm 2.0 gerektirir. Önce o zaman bu VBScript kullanabilirsiniz, hedef makinede kaydetmeniz gerekir:
Set WinAPI = CreateObject("DynamicWrapperX")
WinAPI.Register "user32.dll", "SystemParametersInfo", "i=uuuu"
Const SPI_SETFONTSMOOTHING = &H004B
Const SPI_SETFONTSMOOTHINGTYPE = &H200B
Const SPIF_UPDATEINIFILE = &H1
Const SPIF_SENDCHANGE = &H2
Const FE_FONTSMOOTHINGCLEARTYPE = &H2
If WScript.Arguments(0) Then
WinAPI.SystemParametersInfo SPI_SETFONTSMOOTHING, 1, 0, SPIF_UPDATEINIFILE Or SPIF_SENDCHANGE
WinAPI.SystemParametersInfo SPI_SETFONTSMOOTHINGTYPE, 0, FE_FONTSMOOTHINGCLEARTYPE, SPIF_UPDATEINIFILE Or SPIF_SENDCHANGE
Else
WinAPI.SystemParametersInfo SPI_SETFONTSMOOTHING, 0, 0, SPIF_UPDATEINIFILE Or SPIF_SENDCHANGE
End If
Her iki komut 0
devre dışı ClearType demektir, bir parametre kabul 1
araçlar sağlar. Yeniden başlatma gerekli değildir.
Bunu kopyalayıp ekleyip girme veya bazı powershell çalıştırılabilir komut dosyası metin dosyasına kaydetmem gerekiyor mu ve çift tıklatmalı mıyım? – user1306322
@ user1306322, komut dosyasını kopyalayıp '.ps1' dosyası olarak kaydedin. Sonra komut satırından 'powershell' & 'C: \ myscript.ps1' 1 ''gibi çalıştırabilirsiniz. Yine de, dosyayı çift tıklatarak sistem kayıt defterini düzeltmek mümkündür. – Joulukuusi
Tamam, şimdi 'Dosya C: \ asd.ps1 yüklenemedi çünkü komut dosyaları yürütme bu sistemde devre dışı bırakıldı çünkü. Bunu düzeltmek için ilk Google sonuçlarından biriyle gitmek zorunda kalacağım. – user1306322