もとネタ。
動作確認済み.
[environment]
OS : win8.1
IDE: VS2012
PROJECT: STORE APPS
サンプル
void check_keystate() { // VirtualKey[] とArray型は別物 VirtualKey[] vkeys = Enum.GetValues(typeof(VirtualKey)) .Cast<VirtualKey>() .Where(k => k != VirtualKey.Menu && k != VirtualKey.LeftWindows && // ウィンドウズキー? k != VirtualKey.Control && k != VirtualKey.Shift) .ToArray(); // System.Type type = vkeys.GetType(); VirtualKey ck = vkeys.FirstOrDefault<VirtualKey>(k => Window.Current.CoreWindow.GetKeyState(k) == CoreVirtualKeyStates.Down); // 表示 if (ck != VirtualKey.None) { Debug.WriteLine("{0}", ck.ToString()); } var m = VirtualKeyModifiers.None; if (Window.Current.CoreWindow.GetAsyncKeyState(VirtualKey.Shift) == CoreVirtualKeyStates.Down) { m |= VirtualKeyModifiers.Shift; } //表示 if (m != VirtualKeyModifiers.None) { Debug.WriteLine("modifiers : {0}", m.ToString()); } }