samedi 9 mai 2015

c# wpf when run my app in startup of windows code didn't work and throgh an exception

c# wpf : when run my app in startup of windows code didn't work and through an exception but when i close the app an run it myself it works ok !!!! what is Wrong

exception : the key is existing

uregister key did not do anything

this code used to register a hotkey(like Ctrl + Shift + Q) to do something thanks in advance

        public HotKey(Key k, KeyModifier keyModifiers, Action<HotKey> action, bool register = true)
    {
        Key = k;
        KeyModifiers = keyModifiers;
        Action = action;          
        if (register)
        {   
            Register(); 
        }
    }


    public HotKey(){}

    // ******************************************************************
    public bool Register()
    {
        int virtualKeyCode = KeyInterop.VirtualKeyFromKey(Key);
        Id = virtualKeyCode + ((int)KeyModifiers * 0x10000);
        bool result = RegisterHotKey(IntPtr.Zero, Id, (UInt32)KeyModifiers, (UInt32)virtualKeyCode);

        if (_dictHotKeyToCalBackProc == null)
        {
            _dictHotKeyToCalBackProc = new Dictionary<int, HotKey>();
            ComponentDispatcher.ThreadFilterMessage += new ThreadMessageEventHandler(ComponentDispatcherThreadFilterMessage);
        }

            _dictHotKeyToCalBackProc.Add(Id, this);  

        Debug.Print(result.ToString() + ", " + Id + ", " + virtualKeyCode);
        return result;
    }

Aucun commentaire:

Enregistrer un commentaire