Powershell 实现系统静音

目录

  • [一. 前提](#一. 前提)
  • [二. 代码实现](#二. 代码实现)
    • [2.1 方式1](#2.1 方式1)
    • [2.2 方式2](#2.2 方式2)

一. 前提

⏹在进行商用的作业的时候所用到的电脑每次使用时,总是会发生声音,每次手动去关闭感觉很烦,于是使用Powershell写了个简单的脚本来实现系统静音。


二. 代码实现

2.1 方式1

⏹这种方式只适用于中文操作系统,其他语言的操作系统不可用。

  • [char]0x57C8对应汉字是
  • [char]0x57C8最终会被解析成音量静音键,从而实现静音。
powershell 复制代码
$wsShell = New-Object -ComObject WScript.Shell
$wsShell.SendKeys([char]0x57C8)

2.2 方式2

0xAD 是 静音键(Mute key)的虚拟键码(VK_VOLUME_MUTE)

  • 这种方式和操作系统语言、编码、输入法完全无关。
  • 适用于所有 Windows(中文、日文、英文都行)。

Add-Type -TypeDefinition

  • 在C#代码中引入Windows底层的user32.dll,然后封装为类
  • 然后通过Add-Type在Powershell中引入C#代码,调用Windows的底层api
powershell 复制代码
# 引入C#代码
Add-Type -TypeDefinition @'
using System;
using System.Runtime.InteropServices;

public class Keyboard {
    [DllImport("user32.dll", SetLastError = true)]
    public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);
}
'@

# 按下静音键
[Keyboard]::keybd_event(0xAD, 0, 0, [UIntPtr]::Zero)
# 松开静音键
[Keyboard]::keybd_event(0xAD, 0, 2, [UIntPtr]::Zero) 
相关推荐
Blockbuater_drug2 天前
setx 设完读不到?Windows 系统环境变量作用域、截断坑与 AI 工具密钥管理
注册表·powershell·api key·mcp server·windows 环境变量·setx·环境变量插值
bosins14 天前
Windows IIS 配置本地HTTPS 全流程指南:自签名证书 + 端口绑定 + 避坑详解
powershell·openssl
DogDaoDao25 天前
Windows 开发提效工具全景指南:60+ 工具的工程化分层配置
windows·git·程序员·开发工具·powershell·everything·msys2
winfredzhang1 个月前
用 wxPython 打造「Claude Code 任务启动器」:一个把 AI CLI 变成一键工作流的桌面工具
python·wxpython·powershell·剪贴板·claudecodecli
鬼手点金1 个月前
Hermes‑Agent 使用教程
python·ubuntu·powershell·cmd·ai agent·opencode·hermes
寒水馨2 个月前
macOS下载、安装PowerShell-v7.6.4(附安装包powershell-7.6.4-osx-arm64.pkg)
macos·自动化·跨平台·shell·脚本·命令行·powershell
寒水馨2 个月前
Linux下载、安装PowerShell-v7.6.4(附安装包powershell-7.6.4-linux-x64.tar.gz)
linux·跨平台·自动化运维·devops·命令行·powershell·脚本语言
儒雅的烤地瓜2 个月前
计算机网络 | 网络诊断双刃剑:Tracert路由追踪实战与Windows防火墙端口配置指南
tcp/ip·计算机网络·wireshark·防火墙·powershell·cmd
vortex52 个月前
PowerShell Provider 机制详解:从文件系统到注册表的统一抽象
windows·powershell
无为之士3 个月前
Windows 批量打印 PDF 工具分享:支持文件夹、指定文件、当天文件、预览列表
windows·powershell