none
scorciatoria tastiera per audio su tutti gli Windows RRS feed

  • Discussione generale

  • Buongiorno TechNet e scusate dato che sicuramente ho scelto la sezione sbagliata dove porgere la mia domanda.

    Vi spiego...

    qualche giorno fà ho postato una domanda all interno del Forum Answers di Microsoft... [url=] - collegamento -[/url].

    Poi però dopo un paio di risposte mi è stato consigliato di porgere qui (su TechNet) la domanda per avere la risposta e pertanto ho deciso di seguire il consiglio e dunque... eccola...

    ....

    ....

    Ciao a tutti,

    ho già trovato e letto l'articolo relativo [url=] collegamento -[/url] ma non c'è ciò che cerco.

    E dopo una rapida ricerca in internet non ho trovato nulla.

    Percui ho deciso di chiederVelo direttamente.

    E' possibile sapere qual'è la combinazione di tasti per attivare/disattivare l'audio in Windows?

    Intendo il "codice" che una comune tastiera multimediale manda al PC quando si preme il tasto "mute"... e che funziona anche se si stà lavorando con un programma in primo piano??

    Non penso che, data l'esistenza di questo tasto sia obbligatorio (come ho letto in internet) procurarsi un programma esterno al quale associare una selezione di "tasti di scelta rapida".

    E poi il bello è proprio che mettendo la stessa tastiera su un qualunque PC senza driver specifici, Windows alcuni tasti multimediali li riconosce sempre... tra cui anche il tasto mute. Com'è???

    Sbaglio??

    .....E a proposito aggiungo che non è necessario installare nulla sul PC per far in modo che alcuni tasti multimediali della tastiera vengano riconosciuti, da cui io deduco che questi pochi tasti siano standard di Windows e dunque posso replicarli sapendo il codice tastiera (ascii) se c'è.

    immagine d'esempio... [img]xx[/img]


    venerdì 3 giugno 2016 09:15

Tutte le risposte

  • Mi sembra strano che ti abbiano consigliato di inserire questa discussione nel forum Hyper-V di TechNet...

    Non esiste una sezione specifica per questo tipo di domande (TechNet è dedicato ai professionisti IT, cioè a quelle persone che lavorano in contesti aziendali), quindi sono stato costretto a spostarla nella sezione Off-topic.

    In ogni caso puoi trovare delle risposte in questa discussione inserita in Microsoft Community (en-US): http://answers.microsoft.com/en-us/windows/forum/windows_7-pictures/is-there-keyboard-shortcut-for-volume-control/54609d6e-ce9d-4866-89c0-eb6a86926237

    venerdì 3 giugno 2016 12:18
    Moderatore
  • Ciao e Grazie per la risposta Sig. Fabrizio.

    Ma deve esserci stata una incomprensione.

    Nessuno mi ha suggerito la sezione Hyper-V.... quella l'ho scelta io dato che tra le scelte non c'era nulla che si avvicinasse al mio argomento.

    Il suggerimento che ho seguito è quello di andare a "rifare" la domanda sul Forum TechNet (genericamente)... che ho fatto.

    :-)

    Poi complice la pessima struttura di questo sistema... mi son trovato a non poter metter immagini e collegamenti alla "vecchia" discussione su Answer Microsoft, dove mi è stato fatto lo stesso identico consiglio della discussione inglese che tu mi hai consigliato. Ovvero il comando per avere il collegamento rapido al mixer.

    Ma appunto come ho già ribadito nell altra discussione, anche così non ho il tasto mute ma lo devo sempre premere con il mouse... non risolvo !

    Possibile che non ci sia un comando DIRETTO per quel tasto??

    Questa, se riesco a metterlo è il collegamento all altra discussione... //answers.microsoft.com/it-it/windows/forum/windows_other-desktop/scorciatoria-tastiera-per-audio-su-tutti-gli/a70ae3f0-f901-4946-b1e8-d7ea7ed520cf?tm=146476&lc=1040


    venerdì 3 giugno 2016 13:02
  • Ciao,

    puoi usare powershell:

    Add-Type -TypeDefinition @'
    using System.Runtime.InteropServices;
    
    [Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    interface IAudioEndpointVolume {
      // f(), g(), ... are unused COM method slots. Define these if you care
      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, System.Guid pguidEventContext);
      int GetMute(out bool pbMute);
    }
    [Guid("D666063F-1587-4E43-81F1-B948E807363F"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    interface IMMDevice {
      int Activate(ref System.Guid id, int clsCtx, int activationParams, out IAudioEndpointVolume aev);
    }
    [Guid("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    interface IMMDeviceEnumerator {
      int f(); // Unused
      int GetDefaultAudioEndpoint(int dataFlow, int role, out IMMDevice endpoint);
    }
    [ComImport, Guid("BCDE0395-E52F-467C-8E3D-C4579291692E")] class MMDeviceEnumeratorComObject { }
    
    public class Audio {
      static IAudioEndpointVolume Vol() {
        var enumerator = new MMDeviceEnumeratorComObject() as IMMDeviceEnumerator;
        IMMDevice dev = null;
        Marshal.ThrowExceptionForHR(enumerator.GetDefaultAudioEndpoint(/*eRender*/ 0, /*eMultimedia*/ 1, out dev));
        IAudioEndpointVolume epv = null;
        var epvid = typeof(IAudioEndpointVolume).GUID;
        Marshal.ThrowExceptionForHR(dev.Activate(ref epvid, /*CLSCTX_ALL*/ 23, 0, out epv));
        return epv;
      }
      public static float Volume {
        get {float v = -1; Marshal.ThrowExceptionForHR(Vol().GetMasterVolumeLevelScalar(out v)); return v;}
        set {Marshal.ThrowExceptionForHR(Vol().SetMasterVolumeLevelScalar(value, System.Guid.Empty));}
      }
      public static bool Mute {
        get { bool mute; Marshal.ThrowExceptionForHR(Vol().GetMute(out mute)); return mute; }
        set { Marshal.ThrowExceptionForHR(Vol().SetMute(value, System.Guid.Empty)); }
      }
    }
    '@


    Salvi il codice sopra in un file .ps1 , ad espempio c:\scripts\audio.ps1

    Dopodiche' crei 2 file sempre .ps1, ad esempio

    c:\windows\system32\mute.ps1

    . C:\scripts\Audio.ps1
    [audio]::mute = $true


    c:\windows\system32\unmute.ps1

    . C:\scripts\Audio.ps1
    [audio]::mute = $false

    In seguito crei 2 file batch per eseguire i 2 scripts che contengano "powershell mute.ps1" o "powershell unmute.ps1", crei dei link sul desktop ai due file batch e gli assegni una combinazione di tasti    

    REF: http://stackoverflow.com/questions/255419/how-can-i-mute-unmute-my-sound-from-powershell



    This post is provided AS IS with no warranties or guarantees, and confers no rights.
    ~~~
    Questo post non fornisce garanzie e non conferisce diritti




    • Modificato aperelli venerdì 3 giugno 2016 13:42
    venerdì 3 giugno 2016 13:38
  • Ciao e Grazie per la risposta Sig. Fabrizio.

    Ma deve esserci stata una incomprensione.

    Nessuno mi ha suggerito la sezione Hyper-V.... quella l'ho scelta io dato che tra le scelte non c'era nulla che si avvicinasse al mio argomento.

    Il suggerimento che ho seguito è quello di andare a "rifare" la domanda sul Forum TechNet (genericamente)... che ho fatto.

    :-)

    Poi complice la pessima struttura di questo sistema... mi son trovato a non poter metter immagini e collegamenti alla "vecchia" discussione su Answer Microsoft, dove mi è stato fatto lo stesso identico consiglio della discussione inglese che tu mi hai consigliato. Ovvero il comando per avere il collegamento rapido al mixer.

    Ma appunto come ho già ribadito nell altra discussione, anche così non ho il tasto mute ma lo devo sempre premere con il mouse... non risolvo !

    Possibile che non ci sia un comando DIRETTO per quel tasto??

    Questa, se riesco a metterlo è il collegamento all altra discussione... //answers.microsoft.com/it-it/windows/forum/windows_other-desktop/scorciatoria-tastiera-per-audio-su-tutti-gli/a70ae3f0-f901-4946-b1e8-d7ea7ed520cf?tm=146476&lc=1040


    Puoi mappare il tasto con un software (ad esempio AutoHotkey) oppure con uno script (come consigliato da aperelli) e assegnarlo ad un altro, che io sappia non esistono altre soluzioni.

    Per quanto riguarda il forum non hai trovato la sezione giusta perché come dicevo non è proprio presente....in genere il forum TechNet non si occupa di questo genere di argomenti. Se vuoi provare a sviluppare tu stesso un software per eseguire il mapping potresti però provare a chiedere nella community MSDN come ti era già stato consigliato nella discussione in Microsoft Community.


    sabato 4 giugno 2016 20:27
    Moderatore
  • Un ulteriore modohttp://www.howtogeek.com/howto/windows-vista/create-a-shortcut-or-hotkey-to-mute-the-system-volume-in-windows/

    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere

    domenica 5 giugno 2016 22:02
  • Grazie a tutti per i preziosi consigli,

    e non vorrei che con questa risposta mi prendiate per un ingrato, pretenzioso o cos'altro.

    Ma io non voglio un programma "esterno" nemmeno uno script appositamente creato di poche righe da lanciare alla bisogna.

    Io volevo solamente riuscire a copiare il comando che manda la tastiera multimediale.

    Ho provato anche con diversi keylogger, di cui uno anche creato da me... ma quel tasto (come pochi altri) proprio non li "sentono".

    In maniera spiccia se volete aiutarmi il mio obbiettivo sarebbe quello di aggiungere il comando mute ad una tastiera virtuale creata da me... che però ovviamente per funzionare ha dei requisiti particolari... come le dimensioni massime (in Kb) e che non deve aver bisogno di installare niente. ....Appunto è una tastiera dunque plug-&-play, anche se virtuale.

    Dite che ho troppe pretese?

    Il più l'ho fatto... la tastiera è finita, ora mancano poche cose... e tra queste ho volutamente tralasciato in fondo al progetto i tasti multimediali.. così se avessi avuto difficoltà li avei potuti eliminare...

    Dite che dovei appunto eliminarli?

    ciao

    martedì 7 giugno 2016 07:10
  • Grazie a tutti per i preziosi consigli,

    e non vorrei che con questa risposta mi prendiate per un ingrato, pretenzioso o cos'altro.

    Ma io non voglio un programma "esterno" nemmeno uno script appositamente creato di poche righe da lanciare alla bisogna.

    Io volevo solamente riuscire a copiare il comando che manda la tastiera multimediale.

    Ho provato anche con diversi keylogger, di cui uno anche creato da me... ma quel tasto (come pochi altri) proprio non li "sentono".

    In maniera spiccia se volete aiutarmi il mio obbiettivo sarebbe quello di aggiungere il comando mute ad una tastiera virtuale creata da me... che però ovviamente per funzionare ha dei requisiti particolari... come le dimensioni massime (in Kb) e che non deve aver bisogno di installare niente. ....Appunto è una tastiera dunque plug-&-play, anche se virtuale.

    Dite che ho troppe pretese?

    Il più l'ho fatto... la tastiera è finita, ora mancano poche cose... e tra queste ho volutamente tralasciato in fondo al progetto i tasti multimediali.. così se avessi avuto difficoltà li avei potuti eliminare...

    Dite che dovei appunto eliminarli?

    ciao

    Non e' che hai troppe pretese, hai fatto la domanda sbagliata. Se chiarivi prima le esigenze ti si sarebbe risposto che il forum adatto e' quello degli sviluppatori https://social.msdn.microsoft.com/Forums/en-US/home

    P.S. la porzione di script in verde e' comunque codice .NET, puoi quindi prendere ispirazione da quello se l'applicazione e' in .NET


    This post is provided AS IS with no warranties or guarantees, and confers no rights.
    ~~~
    Questo post non fornisce garanzie e non conferisce diritti

    martedì 7 giugno 2016 08:45
  • Avevi sbagliato nel fare un key logger, avresti dovuto creare un "message logger" o usare spy++ , dato che windows è un sistema "message driven" ...

    https://msdn.microsoft.com/en-us/library/windows/desktop/ms646275%28v=vs.85%29.aspx

    APPCOMMAND_VOLUME_MUTE  8    Mute the volume.

    http://stackoverflow.com/questions/4559526/how-do-i-tell-if-the-master-volume-is-muted

    ciao


    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere



    martedì 7 giugno 2016 22:30