Windows相关技巧
Dionysen

Windows 系统的一些技巧。

win10 修改系统显示字体

下载 FontCreator,用其打开需要替换的字体,选择字体-> 属性:

image

然后将名字修改成 Microsoft Yahei,然后进入 PE 系统,替换系统中的雅黑字体(msyh.ttc、msyhl.ttc、msyhbd.ttc 三个文件)。

image

修改输入法候选字的字体

Win+r 输入 regedit 打开注册表编辑器,找到如下:

HKEY_CURRENT_USER\Software\Microsoft\InputMethod\CandidateWindow\CHS\1

FontStyleFontStyleTSF3 修改成想要的字体,如:

image

Windows Access WSL2 Files

Input \\wsl$ in address bar of explorer.

Win11 Restore Right-click Menu

# To win10
reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve

# To win11
reg.exe delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /va /f

地址栏输入 chrome://flags 可以开启隐藏功能

RealVNC 注册码

Version: 6.11

7SA9N-9JF3P-E8CW2-BH9JU-PMVQA

GT620 老显卡 2K 分辨率

家里老古董,十年前的显卡,2K 屏无法调成 2K 分辨率,先后买了 DVI-24+1 和 DVI-24+5 的线,都无法做到。强行在显卡设置里调整,字体发虚。

最后在贴吧老哥的指点下,找到了设置 2560x1440 分辨率的办法。

只需在显卡设置中创建自定义分辨率时将计时标准设置为 GTF 即可。

(偶尔会有闪屏现象,但至少能用了)

Windows 终端使用代理

🟢 设置完成之后,如果代理未生效,则最好试试 全局代理

$env:HTTP_PROXY = http://127.0.0.1:7890;

使用 google 检测是否成功代理:

curl www.google.com

便捷指令

1.打开 Profile 文件

if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
notepad $PROFILE

2.添加命令

# Set-Proxy command
if ($env:HTTP_PROXY -ne $null){
Write-Output "Proxy Enabled as $env:HTTP_PROXY";
}

Function SetProxy() {
Param(
# 改成自己的代理地址
$Addr = 'http://127.0.0.1:7890',
[switch]$ApplyToSystem
)

$env:HTTP_PROXY = $Addr;
$env:HTTPS_PROXY = $Addr;
$env:http_proxy = $Addr;
$env:https_proxy = $Addr;

[Net.WebRequest]::DefaultWebProxy = New-Object Net.WebProxy $Addr;
if ($ApplyToSystem) {
$matchedResult = ValidHttpProxyFormat $Addr;
# Matched result: [URL Without Protocol][Input String]
if (-not ($matchedResult -eq $null)) {
SetSystemProxy $matchedResult.1;
}
}
Write-Output "Successful set proxy as $Addr";
}
Function ClearProxy() {
Param(
$Addr = $null,
[switch]$ApplyToSystem
)

$env:HTTP_PROXY = $Addr;
$env:HTTPS_PROXY = $Addr;
$env:http_proxy = $Addr;
$env:https_proxy = $Addr;

[Net.WebRequest]::DefaultWebProxy = New-Object Net.WebProxy;
if ($ApplyToSystem) { SetSystemProxy $null; }
Write-Output "Successful unset all proxy variable";

}
Function SetSystemProxy($Addr = $null) {
Write-Output $Addr
$proxyReg = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings";

if ($Addr -eq $null) {
Set-ItemProperty -Path $proxyReg -Name ProxyEnable -Value 0;
return;
}
Set-ItemProperty -Path $proxyReg -Name ProxyServer -Value $Addr;
Set-ItemProperty -Path $proxyReg -Name ProxyEnable -Value 1;
}
Function ValidHttpProxyFormat ($Addr) {
$regex = "(?:https?:\/\/)(\w+(?:.\w+)*(?::\d+)?)";
$result = $Addr -match $regex;
if ($result -eq $false) {
throw [System.ArgumentException]"The input $Addr is not a valid HTTP proxy URI.";
}

return $Matches;
}
Set-Alias set-proxy SetProxy
Set-Alias clear-proxy ClearProxy

3.保存,重新打开 PowerShell

设置当前窗口代理 :set-proxy

设置当前窗口代理 + 系统代理:set-proxy -ApplyToSystem

取消当前窗口代理:clear-proxy

取消当前窗口代理 + 系统代理:clear-proxy -ApplyToSystem

set-proxySetProxyclear-proxyClearProxy 可以互相替换.

CMD 设置代理

仅当前控制台,关闭后失效。

set http_proxy=http://127.0.0.1:19810
set https_proxy=http://127.0.0.1:19810

Git 设置代理

设置 Http 代理,永久生效

git config --global https.proxy https://127.0.0.1:19810
git config --global http.proxy http://127.0.0.1:19810

取消代理

git config --global --unset http.proxy
git config --global --unset https.proxy

PowerShell 环境的执行策略

错误:

无法加载文件 C:\Users\zhaoys-c\Documents\WindowsPowerShell\profile.ps1,
因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwl
ink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 3
+ . 'C:\Users\zhaoys-c\Documents\WindowsPowerShell\profile.ps1'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

解决:

  1. 以管理员身份打开 PowerShell。这可以通过在开始菜单搜索栏中输入 “PowerShell”,然后右键点击 “Windows PowerShell” 并选择 “以管理员身份运行” 来完成。

  2. 检查当前的执行策略。输入以下命令并按回车键:

    Get-ExecutionPolicy
  3. 如果执行策略是 Restricted,你可以更改它为更宽松的策略,比如 RemoteSignedUnrestrictedRemoteSigned 策略允许你运行本地脚本,但需要来自可信来源的远程脚本进行签名。Unrestricted 策略允许运行所有脚本,但请注意这可能会带来安全风险。

    更改执行策略的命令如下:

    Set-ExecutionPolicy RemoteSigned

    或者

    Set-ExecutionPolicy Unrestricted

    执行这些命令时,你可能需要提供管理员密码。

  4. 确认执行策略已更改。再次使用 Get-ExecutionPolicy 命令来查看新的执行策略。

  5. 保存更改并关闭 PowerShell。

  6. 重新打开一个新的 PowerShell 窗口,然后尝试再次加载你的 profile.ps1 脚本。

Visual Studio 中文在别处是乱码

因为 Visual Studio 的默认编码是 GBK,而如 VSCode 或 Sublime 默认编码是 UTF-8,因此将其转换成 GBK 编码,再保存为 UTF-8。

sublime 中安装插件 ConverrtToUTF-8,即可使用 GBK 编码打开文件。

安装 oh-my-posh

官方文档:https://ohmyposh.dev/

现在的 oh-my-posh 可以直接从 Microsoft Store 下载 exe 文件安装了,别去折腾命令行的命令了,速度太慢了。
安装完成后,如果是 windows 系统,推荐 Windows Terminal(没有的话在 Microsoft Store 里安装)下启动 powershell。

配置 oh-my-posh 过程中比较复杂的点就是 Nerd Font 和 Themes 这两点:

1.Nerd Font

去下面的网站下载一个名字里面带 NF 的字体,windows 下直接安装,其他系统参照网站说明。

下载地址:https://www.nerdfonts.com/

2.Themes

在 Windows Terminal 中输入:

notepad $PROFILE

在打开的文件中填入以下代码后保存:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\zash.omp.json" | Invoke-Expression 

然后输入下面的命令,来让配置生效:

.$PROFILE

上面过程中 zash 是主题的一种,将 zash 换成想要的主题即可。

Get-PoshThemes

3.Autosuggestion

Windows 里的 powershell 也可以做到,非常简单

  • 以管理员身份运行 powershell
  • 安装 PSReadLine
Install-Module PSReadLine -RequiredVersion 2.1.0
  • 重启 powershell
  • 初始化
Import-Module PSReadLine
Set-PSReadLineOption -PredictionSource History
  • OK,完成,但重启后还需要再次初始化,所以把它加入配置文件里
notepad $PROFILE
  • 加入一行,保存并关闭
Set-PSReadLineOption -PredictionSource History
  • 下次启动即可拥有 autosuggestion 能力

进程查找与关闭

tasklist | findstr "xmake"
taskkill /F /PID 19052

批量关闭所有包含 xmake 的进程:

@echo off
setlocal enabledelayedexpansion

echo Finding processes containing "xmake"...

for /f "tokens=2" %%a in ('tasklist ^| findstr "xmake"') do (
set pid=%%a
if not "!pid!"=="" (
echo Killing process with PID: !pid!
taskkill /F /PID !pid!
)
)

echo All found processes matching "xmake" have been requested to terminate.
endlocal
显示评论