예제 #1
0
        /// <summary>
        /// HotKeyを登録します。
        /// </summary>
        /// <param name="shortcutKey">ショートカットキー</param>
        /// <param name="action">アクション</param>
        /// <returns>成功の場合はtrue、それ以外はfalseを返します。</returns>
        public bool Register(ShortcutKey shortcutKey, Action action)
        {
            var modifier = (int)shortcutKey.ModifierKeys;
            var trigger  = (int)shortcutKey.Key.ToVirtualKey();

            // HotKey登録時に指定するIDを決定する
            // 0x0000~0xbfff はIDとして使用可能
            if (this.nextHotkeyId < HotkeyIdMax && User32.RegisterHotKey(this.windowHandle, this.nextHotkeyId, modifier, trigger))
            {
                this.hotkeyActions.Add(this.nextHotkeyId, action);
                this.nextHotkeyId++;
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #2
0
 /// <summary>
 /// コンストラクタ。
 /// </summary>
 /// <param name="shortcutKey">ショートカットキー</param>
 public ShortcutKeyPressedEventArgs(ShortcutKey shortcutKey)
 {
     this.ShortcutKey = shortcutKey;
 }
예제 #3
0
 /// <summary>
 /// コンストラクタ。
 /// </summary>
 /// <param name="name">ショートカットキーの名称</param>
 /// <param name="shortcutKey">ショートカットキー</param>
 /// <param name="action">ショートカットキーに押下時に呼ぶアクション</param>
 public ShortcutKeyRegisterInfo(string name, ShortcutKey shortcutKey, Action action)
 {
     this.Name        = name;
     this.ShortcutKey = shortcutKey;
     this.Action      = action;
 }
예제 #4
0
 /// <summary>
 /// ショートカットキーの比較。
 /// </summary>
 /// <param name="other">別のショートカットキー</param>
 /// <returns>等価の場合はtrue、それ以外はfalse</returns>
 public bool Equals(ShortcutKey other)
 {
     return(this == other);
 }