シェルを備えた既製の WinCE (5.0 および 6.0) イメージには、キーストロークごとに再生されるキー クリック サウンドがあるようです。オーディオシステムをそのままにして、このサウンドをオフにするにはどうすればよいですか? (アプリケーションから音声を聞く必要があります。) 設定できるシステム サウンド (ウィンドウの最小化や最大化など) ではないようです。SystemParameters API に何も表示されません。どんな助けでも大歓迎です。
前もって感謝します!
シェルを備えた既製の WinCE (5.0 および 6.0) イメージには、キーストロークごとに再生されるキー クリック サウンドがあるようです。オーディオシステムをそのままにして、このサウンドをオフにするにはどうすればよいですか? (アプリケーションから音声を聞く必要があります。) 設定できるシステム サウンド (ウィンドウの最小化や最大化など) ではないようです。SystemParameters API に何も表示されません。どんな助けでも大歓迎です。
前もって感謝します!
これの組み合わせとして答えを見つけました:(http://msdn.microsoft.com/en-us/library/aa913008.aspx)、および文書化されていない「AudioUpdateFromRegistry」APIを明らかにするソースコードの掘り下げ。
したがって、このコードのビットはトリックを行います:
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;
}
}
}
}
}
上記のAdamと同様に、実際にこのレジストリ値を使用しました。[HKEY_LOCAL_MACHINE \ ControlPanel] "InputConfig" = dword:3
値「3」は、サウンドコントロールパネルの「スクリーンタップ」オプションを有効にし、オフにすることができます。。
; 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
これにより、(ハードウェアボタンを使用する)私のタップが削除されたと思います。ある時点でランダムなフォーラムで見つけました...