Hirdetés

Nem lenne nagyszerű, ha automatikusan elnémítja a számítógép hangkimenetét, amikor kihúzza a fejhallgatót? Ez megakadályozná, hogy véletlenül felébressze a lakótársait a kis reggeli órákban, vagy tévesen nyilvánosságra hozza Britney Spears iránti szeretetét.

Természetesen elnémíthatja a hangszórókat és a fejhallgatókat eseti alapon a Volume Mixer segítségével. (További információ a hang testreszabásáról a Windows 10 rendszerben.) De őszintén szólva, ezt nem kell tennie, ha a PowerShell segítségével automatizálhatja.

Így lehet a számítógép hangját automatikusan elnémítani, amikor eltávolítja a fejhallgatót, akárcsak az okostelefonok.

Az induláshoz nyissa meg a Jegyzettömböt. Ezután illessze be a következő kódot az üres dokumentumba:

[Cmdletbinding ()] Param () # Definíciók hozzáadása az audio API eléréséhez. Add-Type -TypeDefinition @ ' a System segítségével. Runtime. InteropServices; [Guid ("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType (ComInterfaceType. InterfaceIsIUnknown)] IAudioEndpointVolume felület { // f (), g (),... nem használt COM-metódusrések. Definiálja ezeket, ha érdekel. int f (); int g (); int h (); int i (); int SetMasterVolumeLevelScalar (float fLevel, System. Guid pguidEventContext); int j (); int GetMasterVolumeLevelScalar (out float pfLevel); int k (); int l (); int m (); int n (); int SetMute ([MarshalAs (UnmanagedType. Bool)] bool bMute, rendszer. Guid pguidEventContext); int GetMute (out bool pbMute); } [Guid ("D666063F-1587-4E43-81F1-B948E807363F"), InterfaceType (ComInterfaceType. InterfaceIsIUnknown)] interfész IMMDevice { int Aktiválás (ref. Guid id, int clsCtx, int activationParams, out IAudioEndpointVolume aev); } [Guid ("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType (ComInterfaceType. InterfaceIsIUnknown)] interfész IMMDeviceEnumerator { int f (); // Nem használt int GetDefaultAudioEndpoint (int dataFlow, int szerep, out IMMDevice végpont); } [ComImport, Guid ("BCDE0395-E52F-467C-8E3D-C4579291692E")] MMDeviceEnumeratorComObject osztály {} nyilvános osztályú audio { statikus IAudioEndpointVolume Vol () { var enumerator = new MMDeviceEnumeratorComObject () mint IMMDeviceEnumerator; IMMDevice dev = null; Marsall. ThrowExceptionForHR (enumerátort. GetDefaultAudioEndpoint (/ * eRender * / 0, / * eMultimedia * / 1, out dev)); IAudioEndpointVolume epv = null; var epvid = typeof (IAudioEndpointVolume) .GUID; Marsall. ThrowExceptionForHR (dev. Aktiválja (ref epvid, / * CLSCTX_ALL * / 23, 0, epv out)); visszatérő epv; } nyilvános statikus úszó Volume { kap {float v = -1; Marsall. ThrowExceptionForHR (Vol (). GetMasterVolumeLevelScalar (ki v)); visszatérés v;} set {marsall. ThrowExceptionForHR (Vol (). SetMasterVolumeLevelScalar (érték, rendszer. Guid. Üres));} } nyilvános statikus hangjelzés Mute { get {bool némítás; Marsall. ThrowExceptionForHR (Vol (). GetMute (néma)); vissza némítás; } set {marsall. ThrowExceptionForHR (Vol (). SetMute (érték, rendszer. Guid. Üres)); } } } '@ -Verbose Bár ($ true) { #Az aktuális munkamenet összes eseményét törölje, mivel annak végtelen hurokban van, hogy újrainduljon, amikor a hurok megkezdődik. Rendezvény | Remove-Event -ErrorAction SilentlyContinue #Az esemény regisztrálása és az esemény beindulásának várakozása. Regisztráció-WmiEvent -Class Win32_DeviceChangeEvent. Várakozás-esemény -OutVariable esemény | Out-Null $ EventType = $ Event.sourceargs.newevent | ` Sort-Object TIME_CREATED -csökkenő | ` Select-Object EventType -ExpandProperty EventType -First 1 #Kapcsolatos logika a kezelésre, Mikor kell a készüléket elnémítani / elnémítani az Audio API használatával. If ($ EventType -eq 3) { [Audio]:: Némítás = $ igaz. Írás-szóbeszéd "Némítva [$ ((Get-Date) .tostring ())]" } elseif ($ EventType -eq 2 -és [Audio]:: Némítás -eq $ true) { [Audio]:: Némítás = $ false. Írás-szóbeszéd: "Nincs némítva [$ ((Get-Date) .tostring ())]" } }
instagram viewer

Most el kell mentenie a fájlt PS1 formátumban. A Fájl mentése párbeszédpanelen válassza a lehetőséget Minden fájl a legördülő menüből, és hívja meg a fájlt AutoMute.ps1. Maga a fájl neve nem fontos, ezért csak válasszon valami, ami könnyen megjegyezhető.

A szkript aktiválásához kattintson a jobb gombbal az újonnan létrehozott fájlra, és válassza a lehetőséget Fuss. A szkript mindaddig aktív lesz, amíg nem kapcsolja ki a gépet.

Ez csak egy a sokféle módszer közül A PowerShell növelheti a termelékenységet Növelje termelékenységét a Windows PowerShell parancsfájlokkalMi lenne, ha a Linux termelékenységét áthozná a Windows rendszerbe? A legtöbb Linux disztribúció az erőteljes Bash-héj csomagolásával érkezik. A PowerShell ugyanolyan hatékony terminál a Windows számára. Olvass tovább . Sok van belőlük A PowerShell-parancsmagok, amelyek javítják a Windows élményét Powershell-füzetek, amelyek javítják a Windows rendszergazdai képességeitA Powershell egyenlő részű parancssori eszköz és szkriptnyelv. Ez lehetővé teszi a számítógép automatizálását ugyanazokkal a parancsokkal, mint a számítógép adminisztrálására. Olvass tovább .

Kép jóváírása: peus / Depositphotos

Dan egy brit külföldön élő, Mexikóban élő. Ő a MUO testvérek webhelyének, a Blocks Decoded igazgatója. Különböző időpontokban a MUO társadalmi szerkesztője, kreatív szerkesztője és pénzügyi szerkesztője. Minden évben megtalálhatja őt a Las Vegas-i CES show-padlóján barangolva (PR-emberek, keresse meg!), És rengeteg színfalak mögött készít webhelyet.