Mainos
Eikö olisi hienoa, jos voisit mykistää tietokoneesi äänen automaattisesti, kun irrotat kuulokkeet pistorasiasta? Se estäisi valaisimen herättämistä vahingossa pieninä aamuisin tai paljastamasta virheellisesti rakkautesi Britney Spearsille julkisesti.
Tietenkin voit mykistää kaiuttimet ja kuulokkeet tapauskohtaisesti käyttämällä Volume-mikseriä. (Lisätietoja äänen mukauttamisesta Windows 10: ssä.) Mutta rehellisesti, sitä ei tarvitse tehdä, kun pystyt automatisoimaan sen PowerShellillä.
Näin voit mykistää tietokoneesi äänen automaattisesti, kun poistat kuulokkeet, aivan kuten älypuhelimet.
Aloita avaamalla Muistio. Liitä sitten seuraava koodi tyhjään asiakirjaan:
[Cmdletbinding ()] Param () # Määritelmien lisääminen audio-sovellusliittymään pääsyä varten. Lisätyyppi -TypeDefinition @ ' järjestelmän avulla. Runtime. InteropServices; [Guid ("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType (ComInterfaceType. InterfaceIsIUnknown)] käyttöliittymä IAudioEndpointVolume { // f (), g (),... ovat käyttämättömiä COM-menetelmäpaikkoja. Määritä nämä, jos välität. int f (); int g (); int h (); int i (); int SetMasterVolumeLevelScalar (kelluva fLevel, järjestelmä. Guid pguidEventContext); int j (); int GetMasterVolumeLevelScalar (ulos kelluva pfLevel); int k (); int l (); int m (); int n (); int SetMute ([MarshalAs (UnmanagedType. Bool)] bool bMute, Järjestelmä. Guid pguidEventContext); int GetMute (ulos bool pbMute); } [Guid ("D666063F-1587-4E43-81F1-B948E807363F"), käyttöliittymätyyppi (ComInterfaceType. InterfaceIsIUnknown)] käyttöliittymä IMMDevice { int Aktivoi (ref. Guid id, int clsCtx, int activationParams, IAudioEndpointVolume aev); } [Guid ("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType (ComInterfaceType. InterfaceIsIUnknown)] käyttöliittymä IMMDeviceEnumerator { int f (); // Käyttämätön. int GetDefaultAudioEndpoint (int dataFlow, int rooli, IMMDevice loppupiste); } [ComImport, Guid ("BCDE0395-E52F-467C-8E3D-C4579291692E")] luokka MMDeviceEnumeratorComObject {} julkisen luokan ääni { staattinen IAudioEndpointVolume Vol () { var enumerator = uusi MMDeviceEnumeratorComObject () IMMDeviceEnumeratorina; IMMDevice dev = nolla; Marsalkka. ThrowExceptionForHR (luettelointi. GetDefaultAudioEndpoint (/ * eRender * / 0, / * eMultimedia * / 1, out dev)); IAudioEndpointVolume epv = nolla; var epvid = typeof (IAudioEndpointVolume) .GUID; Marsalkka. ThrowExceptionForHR (dev. Aktivoi (ref epvid, / * CLSCTX_ALL * / 23, 0, epv)); paluu epv; } julkinen staattinen kelluvuus Volume { saada {kellua v = -1; Marsalkka. ThrowExceptionForHR (Vol (). GetMasterVolumeLevelScalar (ulos v)); paluu v;} asetettu {marsalkka. ThrowExceptionForHR (Vol (). SetMasterVolumeLevelScalar (arvo, Järjestelmä. Guid. Tyhjä));} } julkinen staattinen bool Mute { saada {bool mykistys; Marsalkka. ThrowExceptionForHR (Vol (). GetMute (mykistys pois)); palauta mykistys; } asetettu {marsalkka. ThrowExceptionForHR (Vol (). SetMute (arvo, järjestelmä. Guid. Tyhjä)); } } } '@ -Verbose Vaikka ($ true) { #Pyyhi kaikki nykyisen istunnon tapahtumat sen jälkeen, kun se on ääretön silmukka, aloittaaksesi uuden silmukan alkaessa. Get-Event | Poista tapahtuma -Virhetoiminta SilentlyContinue #Tapahtuman rekisteröiminen ja tapahtuman käynnistymisen odottaminen. Rekisteröi-WmiEvent -Class Win32_DeviceChangeEvent. Odota-Tapahtuma -OutVariable Tapahtuma | Out-Null $ EventType = $ Event.sourceargs.newevent | ` Sort-Object TIME_CREATED - aleneva | ` Select-Object EventType -ExpandProperty EventType -First 1 #Tavanomainen käsiteltävä logiikka, milloin laite mykistetään / mykistetään äänirajapinnan avulla. If ($ EventType -eq 3) { [Ääni]:: Mykistä = $ totta. Write-Verbose "Mykistetty [$ ((Get-Date) .tostring ())]" } elseif ($ EventType -eq 2 -ja [Audio]:: Mykistä -eq $ true) { [Ääni]:: Mykistä = $ vääriä. Kirjoita sanallinen "Äänetön [$ ((Get-Date) .tostring ())]" } }
Nyt sinun on tallennettava tiedosto PS1-muodossa. Kun valitset Tallenna tiedosto -valintaikkunaa, valitse Kaikki tiedostot avattavasta valikosta ja soita tiedostoon AutoMute.ps1. Itse tiedoston nimi ei ole tärkeä, joten valitse vain jotain, joka on helppo muistaa.
Aktivoi skripti napsauttamalla hiiren kakkospainikkeella hiljattain luodtua tiedostoa ja valitsemalla Juosta. Skripti on aktiivinen, kunnes sammutat koneesi.
Tämä on vain yksi monista tavoista PowerShell voi parantaa tuottavuutta Paranna tuottavuutta Windows PowerShell-skripteilläEntä jos voisit tuoda Linuxin tuottavuuden Windowsille? Suurin osa Linux-distroista on pakattu tehokkaan Bash-kuoren mukana. PowerShell on yhtä tehokas päätelaite Windowsille. Lue lisää . On paljon PowerShell-pikakuvakkeet, jotka parantavat Windows-käyttökokemustasi Powershell-lomakkeet, jotka parantavat Windows-järjestelmänvalvojataitojasiPowershell on yhtä suuret osat komentorivityökalu ja komentosarjojen kieli. Se antaa sinulle mahdollisuuden automatisoida tietokoneesi samojen komentojen avulla, joita käytät sen hallitsemiseen. Lue lisää .
Kuvaluotto: peus / Depositphotos
Dan on Meksikossa asuva brittiläinen ulkomailla asukas. Hän on MUO: n sisko-sivuston, Blocks Decoded, toimitusjohtaja. Usein hän on ollut MUO: n sosiaalinen toimittaja, luova toimittaja ja taloustoimittaja. Löydät hänet vaeltelemassa näyttelylattia CES: ssä Las Vegasissa joka vuosi (PR-ihmiset, tavoita!), Ja hän tekee paljon kulissien takana -sivua…