Skip to content

Windows 常用软件

本文整理了个人在 Windows 平台上常用的软件工具,按功能分类以便查找。

🖥️ 系统工具

QuickLook

简介

QuickLook Logo

使用 QuickLook 可以在不运行关联程序的情况下,通过敲击空格键来快速预览文件内容。

安装

下载地址

Windhawk

简介

Windhawk Logo

Windhawk 可以修改任务栏、资源管理器、开始菜单的外观和功能并且可以添加原本不具备的功能,官网有很多 Mods ,这里分享下个人在用的一些 mods(主要是双屏场景)。

  • Alt+Tab per monitor windows 默认情况下 Alt+Tab 会显示所有屏幕上的打开的窗口,这样导致即使某一个屏幕上只有两三个应用切换起来也很麻烦,而且如果前一个聚焦的应用程序在另一个屏幕上当快速切换时给他的感觉是没有任何变化。使用这个 mod 可以实现按下 Alt+Tab 只展示当前屏幕的应用程序。
  • Alt+Tab window delayer 常规情况下即使快速按下 Alt+Tab windows 也会短暂闪烁一下应用程序选择弹窗,这个 mod 的作用就如同它的名字一样,延迟弹窗出现的时机,在配合前面一个 mod 时,在快速切换程序时用起来十分爽。
  • Win+D per monitor 按下 Win+D 时 只最小化 / 还原鼠标所在显示器的窗口。
  • Primary taskbar on secondary monitor 在双屏场景下,windows 的右下角通知栏只会在主屏幕显示并且无法手动调整到另一个屏幕(除非把另一个屏幕设为主窗口),我是把笔记本放在左边外接显示器放在右边,并且把外接显示器设为主屏幕的,但是由于屏幕太大导致 windows 右下角通知区域距离我太远,钉钉等软件来消息时闪烁图标不容易看到容易错过消息,这个软件可以指定某个屏幕为主要通知栏但是又不会改变你设置的哪个显示器作为主屏幕,我把笔记本设置为主任务栏后 windows 通知区域基本上就在我的左眼直视的地方,消息一眼就能看到。
  • Taskbar tray system icon tweaks 用于隐藏通知栏区域的系统图标,比如定位图标有软件访问位置权限的时候定位图标才出现,访问完毕后又自动消失,但是这个图标不能手动隐藏,导致通知栏区域宽度来回变化影响注意力。

安装

下载地址

X-Mouse Button Control

简介

X-Mouse Logo

可让您重新配置和重新映射鼠标按钮,从而扩展鼠标的功能。例如,鼠标按键 4、5 默认是导航前进后退,可以修改为上下滚动页面

安装

下载地址

🖼️ 截图录屏

PixPin

简介

PixPin Logo

PixPin 是一个截图、贴图的工具,同时支持 OCR、重复编辑等功能,在 Windows 上个人认为是一款能替代 Snipaste 的工具

安装

下载地址

ScreenToGif

简介

ScreenToGif Logo

屏幕、摄像头和画板录像,并内置有简易编辑器,可导出为 GIF、MP4 等格式

安装

下载地址

🔍 文件管理

Listary

简介

Listary Logo

Listary 是一款可以替代 Everything 搜索查找文件功能和替代 Utools 快速启动应用程序功能的应用

安装

下载地址

WizTree

简介

WizTree Logo

快速扫描和分析找到硬盘上占用空间最多的文件和文件夹

安装

下载地址

💻 开发工具

fnm

简介

nvm-windows 的替代品,速度更快且支持自动切换版本

安装

下载地址,如果使用 winget 安装十分简单,并且不需手动配置环境变量,但是无法指定安装目录 这里记录下手动安装二进制文件的配置方式

下载 Releases 页面的 fnm-windows.zip

解压到想要安装的目录如:D:\Software\fnm-windows

打开系统属性 - 环境变量

新建系统变量

  • 变量名:FNM_DIR
  • 变量值: D:\Software\fnm-windows

选择系统变量中的 Path 变量双击打开编辑环境变量弹窗,添加 %FNM_DIR%

设置进入终端自动切换 Node.Js 版本

执行以下命令打开 PowerShell 配置文件

shell
Invoke-Item $profile

如果该文件不存在,可使用以下命令创建

shell
if (-not (Test-Path $profile)) { New-Item $profile -Force }

PowerShell 配置文件的末尾中添加以下代码,重新打开终端即可

shell
fnm env --use-on-cd --shell powershell | Out-String | Invoke-Expression

常用命令

查看 fnm 版本

shell
fnm --version

查看已安装的 Node.js 列表

shell
fnm list

安装指定的 Node.js 版本

shell
fnm install 14.16.1

切换指定的 Node.js 版本

shell
fnm use 14.16.1

pyenv-win

简介

pyenv Logo

pyenv-win 是一款简洁的 Python 版本管理工具,可让您轻松切换多个 Python 版本,类似 Node.js 的 NVM。

安装

下载地址,或使用以下安装脚本

shell
<#
    .SYNOPSIS
    Installs pyenv-win

    .DESCRIPTION
    Installs pyenv-win to $HOME\.pyenv
    If pyenv-win is already installed, try to update to the latest version.

    .PARAMETER Uninstall
    Uninstall pyenv-win. Note that this uninstalls any Python versions that were installed with pyenv-win.

    .INPUTS
    None.

    .OUTPUTS
    None.

    .EXAMPLE
    PS> install-pyenv-win.ps1

    .LINK
    Online version: https://pyenv-win.github.io/pyenv-win/
#>

param (
    [Switch] $Uninstall = $False
)

# 自定义了安装目录
$PyEnvDir = "${env:USERPROFILE}\.pyenv"
$PyEnvDir = "D:\Software\.pyenv"
$PyEnvWinDir = "${PyEnvDir}\pyenv-win"
$BinPath = "${PyEnvWinDir}\bin"
$ShimsPath = "${PyEnvWinDir}\shims"

Function Remove-PyEnvVars() {
    $PathParts = [System.Environment]::GetEnvironmentVariable('PATH', "User") -Split ";"
    $NewPathParts = $PathParts.Where{ $_ -ne $BinPath }.Where{ $_ -ne $ShimsPath }
    $NewPath = $NewPathParts -Join ";"
    [System.Environment]::SetEnvironmentVariable('PATH', $NewPath, "User")

    [System.Environment]::SetEnvironmentVariable('PYENV', $null, "User")
    [System.Environment]::SetEnvironmentVariable('PYENV_ROOT', $null, "User")
    [System.Environment]::SetEnvironmentVariable('PYENV_HOME', $null, "User")
}

Function Remove-PyEnv() {
    Write-Host "Removing $PyEnvDir..."
    If (Test-Path $PyEnvDir) {
        Remove-Item -Path $PyEnvDir -Recurse
    }
    Write-Host "Removing environment variables..."
    Remove-PyEnvVars
}

Function Get-CurrentVersion() {
    $VersionFilePath = "$PyEnvDir\.version"
    If (Test-Path $VersionFilePath) {
        $CurrentVersion = Get-Content $VersionFilePath
    }
    Else {
        $CurrentVersion = ""
    }

    Return $CurrentVersion
}

Function Get-LatestVersion() {
    $LatestVersionFilePath = "$PyEnvDir\latest.version"
    (New-Object System.Net.WebClient).DownloadFile("https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/.version", $LatestVersionFilePath)
    $LatestVersion = Get-Content $LatestVersionFilePath

    Remove-Item -Path $LatestVersionFilePath

    Return $LatestVersion
}

Function Main() {
    If ($Uninstall) {
        Remove-PyEnv
        If ($? -eq $True) {
            Write-Host "pyenv-win successfully uninstalled."
        }
        Else {
            Write-Host "Uninstallation failed."
        }
        exit
    }

    $BackupDir = "${env:Temp}/pyenv-win-backup"

    $CurrentVersion = Get-CurrentVersion
    If ($CurrentVersion) {
        Write-Host "pyenv-win $CurrentVersion installed."
        $LatestVersion = Get-LatestVersion
        If ($CurrentVersion -eq $LatestVersion) {
            Write-Host "No updates available."
            exit
        }
        Else {
            Write-Host "New version available: $LatestVersion. Updating..."

            Write-Host "Backing up existing Python installations..."
            $FoldersToBackup = "install_cache", "versions", "shims"
            ForEach ($Dir in $FoldersToBackup) {
                If (-not (Test-Path $BackupDir)) {
                    New-Item -ItemType Directory -Path $BackupDir
                }
                Move-Item -Path "${PyEnvWinDir}/${Dir}" -Destination $BackupDir
            }

            Write-Host "Removing $PyEnvDir..."
            Remove-Item -Path $PyEnvDir -Recurse
        }
    }

    New-Item -Path $PyEnvDir -ItemType Directory

    $DownloadPath = "$PyEnvDir\pyenv-win.zip"

    (New-Object System.Net.WebClient).DownloadFile("https://github.com/pyenv-win/pyenv-win/archive/master.zip", $DownloadPath)

    Start-Process -FilePath "powershell.exe" -ArgumentList @(
        "-NoProfile",
        "-Command `"Microsoft.PowerShell.Archive\Expand-Archive -Path \`"$DownloadPath\`" -DestinationPath \`"$PyEnvDir\`"`""
    ) -NoNewWindow -Wait

    Move-Item -Path "$PyEnvDir\pyenv-win-master\*" -Destination "$PyEnvDir"
    Remove-Item -Path "$PyEnvDir\pyenv-win-master" -Recurse
    Remove-Item -Path $DownloadPath

    # Update env vars
    [System.Environment]::SetEnvironmentVariable('PYENV', "${PyEnvWinDir}\", "User")
    [System.Environment]::SetEnvironmentVariable('PYENV_ROOT', "${PyEnvWinDir}\", "User")
    [System.Environment]::SetEnvironmentVariable('PYENV_HOME', "${PyEnvWinDir}\", "User")

    $PathParts = [System.Environment]::GetEnvironmentVariable('PATH', "User") -Split ";"

    # Remove existing paths, so we don't add duplicates
    $NewPathParts = $PathParts.Where{ $_ -ne $BinPath }.Where{ $_ -ne $ShimsPath }
    $NewPathParts = ($BinPath, $ShimsPath) + $NewPathParts
    $NewPath = $NewPathParts -Join ";"
    [System.Environment]::SetEnvironmentVariable('PATH', $NewPath, "User")

    If (Test-Path $BackupDir) {
        Write-Host "Restoring Python installations..."
        Move-Item -Path "$BackupDir/*" -Destination $PyEnvWinDir
    }

    If ($? -eq $True) {
        Write-Host "pyenv-win is successfully installed. You may need to close and reopen your terminal before using it."
    }
    Else {
        Write-Host "pyenv-win was not installed successfully. If this issue persists, please open a ticket: https://github.com/pyenv-win/pyenv-win/issues."
    }
}

Main

卸载

shell
.\install-pyenv-win.ps1 -Uninstall

常用命令

查看 pyenv 版本

shell
pyenv --version

查看已安装的 python 列表

shell
pyenv versions

安装指定的 python 版本

shell
pyenv install 3.14.2

切换指定的 python 版本

shell
pyenv global 3.14.2

gsudo

提示

💡 Windows 11 内置支持

Windows 11 已原生支持 sudo 命令!可通过以下方式启用:

设置 → 系统 → 开发者选项 → 终端 → 启用 sudo

启用后可在命令行中直接使用 sudo 命令,体验与 Linux/macOS 一致。

如果您的系统不支持或需要更多功能,可以使用下面的 gsudo 作为替代方案。

简介

gsudo 是 Windows 平台上 sudo 命令的替代品,允许您以管理员权限运行命令,类似于 Linux/macOS 上的 sudo。

特性

  • 与 Linux/macOS sudo 命令相似的语法和体验
  • 支持提升当前进程权限
  • 支持在 PowerShell 中使用
  • 支持自动提升 UAC 权限

常用命令

以管理员权限运行命令

shell
gsudo notepad.exe

以管理员权限运行 PowerShell 命令

shell
gsudo powershell "Get-Process"

安装

下载地址

直接使用 msi 二进制包安装或者使用 winget 安装:

shell
winget install gsudo

FinalShell

简介

跨平台的 SSH 工具

安装

下载地址

Debugtron

简介

可用于调试生产环境中的 Electron 应用

安装

下载地址

Sublime Text

简介

Sublime Text Logo

轻量的代码编辑器,适合日常临时查看代码使用

安装

下载地址

激活

截止文档编写时间,Sublime Text 4200 版本按照以下流程即可完成激活

python
import sys
import os

NOP = 0x90
offsets_and_values = {
    0x00030170: 0x00,
    0x000A94D0: NOP, 0x000A94D1: NOP, 0x000A94D2: NOP, 0x000A94D3: NOP, 0x000A94D4: NOP, 0x000A94D5: NOP, 0x000A94D6: NOP, 0x000A94D7: NOP, 0x000A94D8: NOP, 0x000A94D9: NOP, 0x000A94DA: NOP, 0x000A94DB: NOP, 0x000A94DC: NOP, 0x000A94DD: NOP, 0x000A94DE: NOP, 0x000A94DF: NOP, 0x000A94E0: NOP, 0x000A94E1: NOP, 0x000A94E2: NOP, 0x000A94E3: NOP, 0x000A94E4: NOP, 0x000A94E5: NOP, 0x000A94E6: NOP, 0x000A94E7: NOP, 0x000A94E8: NOP, 0x000A94E9: NOP, 0x000A94EA: NOP, 0x000A94EB: NOP, 0x000A94EC: NOP, 0x000A94ED: NOP, 0x000A94EE: NOP, 0x000A94EF: NOP, 0x000A94F0: NOP, 0x000A94F1: NOP, 0x000A94F2: NOP, 0x000A94F3: NOP, 0x000A94F4: NOP, 0x000A94F5: NOP, 0x000A94F6: NOP, 0x000A94F7: NOP, 0x000A94F8: NOP, 0x000A94F9: NOP, 0x000A94FA: NOP, 0x000A94FB: NOP, 0x000A94FC: NOP, 0x000A94FD: NOP, 0x000A94FE: NOP, 0x000A94FF: NOP, 0x000A9500: NOP, 0x000A9501: NOP, 0x000A9502: NOP, 0x000A9503: NOP, 0x000A9504: NOP, 0x000A9505: NOP, 0x000A9506: NOP, 0x000A9507: NOP, 0x000A9508: NOP, 0x000A9509: NOP, 0x000A950A: NOP, 0x000A950B: NOP, 0x000A950C: NOP, 0x000A950D: NOP, 0x000A950E: NOP, 0x000A950F: NOP,
    0x001C6CCD: 0x02,
    0x001C6CE4: 0x00,
    0x001C6CFB: 0x00,
}

def patch_exe(input_file, output_file=None):
    output_file = output_file or f"{os.path.splitext(input_file)[0]}_patched.exe"
    try:
        with open(input_file, 'rb') as f:
            data = f.read()
        patched_data = bytearray(data)
        for offset, value in offsets_and_values.items():
            if offset < len(patched_data):
                patched_data[offset] = value
        with open(output_file, 'wb') as f:
            f.write(patched_data)
        print(f"[+] Patch applied successfully! Saved as: {output_file}")

    except Exception as e:
        print(f"Error: {e}")

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("Usage: python patcher.py <input_file> [output_file]")
    else:
        patch_exe(sys.argv[1], sys.argv[2] if len(sys.argv) > 2 else None)

## https://gist.github.com/Fadi002/51a505cece648915bc2f32f3b7e6b71d
shell
python patcher.py "path_to_sublime_text.exe"

执行命令后,运行脚本生成的 path_to_sublime_text.exe 即可完成激活。

汉化

打开 Sublime Text ,按下快捷键 Ctrl + Shift + P 打开命令面板。

输入install ,点击Install Package Control 。

等待一会,时间略长,安装成功会出现一个对话框(在后台出现,无提示),点击"确定"。

回到 Sublime Text ,按下快捷键 Ctrl + Shift + P 打开命令面板再次输入 install 选择第一个 Package Control: Install Package ,左下角会出现 Loading repositories[= ] ,表示正在加载插件列表。

等待加载完成,会出现一个新的输入框,这个输入框就是用来安装插件的。输入Chinese ,选择中文插件ChineseLocalizations 安装。

JetBrains 产品激活

简介

JetBrains 全家桶产品激活工具

安装

下载地址

🔒 安全防护

火绒

简介

火绒 Logo

不多介绍

安装

下载地址

🌐 科学上网

FlClash

简介

FlClash Logo

代理客户端,支持多种协议

安装

下载地址

v2rayN

简介

v2rayN Logo

功能强大的代理客户端

安装

下载地址

📝 办公文档

Typora 免安装激活

简介

Typora Logo

如题,免安装激活

安装

下载地址

安装插件

  • 下载 typora_plugin 插件包
  • 将解压得到的 plugin 文件夹粘贴进 D:\Software\Typora\resources
  • 执行 D:\Software\Typora\plugin\app\bin\install_windows.ps1
  • 重启 Typora,正文区域点击鼠标右键,弹出右键菜单栏,如果能看到常用插件菜单即代表安装成功

安装主题

推荐 typora-vue-theme 主题

Axure RP 激活

简介

如题,Axure RP 激活

安装

下载地址

汉化

汉化包下载地址

🔐 密码管理

KeePassXC 密码管理工具

简介

KeePassXC Logo

是一款跨平台、开源的密码管理工具,支持TOTP、通行密钥等功能

安装

下载地址

配套生态

💬 社交通信增强

微信4.X防撤回

简介

如题,微信4.X防撤回

安装

下载地址

使用步骤

  • 运行 RevokeHookUI.exe
  • 点击搜索特征码,正常情况下会出现两个 [√] [0x偏移]
  • 将两个值分别填写到 Offset 和 DelMsg 处的输入框后,点击保存配置
  • 运行 RevokeInject.exe 登录微信即可

钉钉防撤回

简介

如题,钉钉防撤回

安装

下载地址

🎯 其他

米家摄像头

简介

小米中文官网没有下载链接,印度官网有。

安装

下载地址

Bypass

简介

分流抢火车票,提升抢票成功率

安装

下载地址

本站总访问量 --