Как отключить звук нажатия клавиш в Windows CE? - PullRequest
1 голос
/ 11 июня 2009

В готовых изображениях WinCE (5.0 и 6.0) с оболочкой, похоже, слышен звук нажатия клавиш, который воспроизводится при каждом нажатии клавиши. Как я могу отключить этот звук, оставив аудиосистему в противном случае в покое? (Мне все еще нужно услышать звук из моего приложения.) Похоже, это не системный звук (например, сворачивание или сворачивание окна), который я могу установить. Я ничего не вижу в API SystemParameters. Любая помощь будет оценена.

Заранее спасибо!

Ответы [ 4 ]

3 голосов
/ 12 июня 2009

Я нашел ответ как комбинацию этого: (http://msdn.microsoft.com/en-us/library/aa913008.aspx), и немного копания исходного кода, который раскрыл недокументированный API AudioUpdateFromRegistry.

Так что этот бит кода делает свое дело:

using Microsoft.Win32;

namespace CEAudio
{
    public enum KeyClickVolume
    {
        Off,
        Soft,
        Loud
    };
    public class Utility
    {
        [DllImport("coredll.dll")]
        public static extern void AudioUpdateFromRegistry();

        static readonly string KeyVolRegKey = @"HKEY_CURRENT_USER\ControlPanel\Volume";
        public static KeyClickVolume KeyClickVolume
        {
            set
            {
                uint[] vals = new uint[] { 0, 1, 0x10002 };
                Registry.SetValue(KeyVolRegKey, "Key", vals[(int)value], RegistryValueKind.DWord);
                AudioUpdateFromRegistry();
            }
            get
            {
                switch((uint)Registry.GetValue(KeyVolRegKey, "Key", (uint)0x10002))
                {
                    case 0: return KeyClickVolume.Off;
                    case 1: return KeyClickVolume.Soft;
                    case 0x10002:
                    default: return KeyClickVolume.Loud;
                }
            }
        }
    }
}
2 голосов
/ 11 июня 2009

попробуйте

Меню> Настройки> звуки

прокрутить вправо до конца, где написано «управление с клавиатуры»

установлено в "none"

Вы свободны!

с здесь

1 голос
/ 20 июля 2010

Я на самом деле использовал это значение реестра, аналогичное приведенному выше Адамом: [HKEY_LOCAL_MACHINE \ ControlPanel] "InputConfig" = DWORD: 3

Значение «3» включает параметр «Касание экрана» на панели управления звуком, который затем можно отключить. .

0 голосов
/ 11 июня 2009
; This registry setting controls the checkboxes dsiplayed in the Sounds CPL
; under "enable clicks & taps". Set bit0 if you have a keyboard, set bit1 if
; you have a touch screen. Set bit2 if you have HW buttons (NOTE: for now
; HW buttons are mutually exclusive with the keyboard)

[HKEY_LOCAL_MACHINE\ControlPanel]
    "InputConfig"=dword:2

Я думаю, что это удалило краны из моего (который использует аппаратные кнопки), я нашел это в случайном форуме в какой-то момент ...

...