Exemple #1
0
        void CreateHotKeyWindow()
        {
            if (hkWindow != null)
            {
                return;
            }

            hkWindow = new VgcApis.WinForms.HotKeyWindow(niMenuRoot);
            var wndHandle = hkWindow.Handle;

            VgcApis.Libs.Sys.FileLogger.Info($"Create hot key window {wndHandle}.");
            var handles = hkContexts.Keys;

            foreach (var handle in handles)
            {
                if (hkContexts.TryGetValue(handle, out var context))
                {
                    try
                    {
                        hkWindow.RegisterHotKey(context);
                    }
                    catch { }
                }
            }

            hkWindow.OnHotKeyMessage += HandleHotKeyEvent;
        }
Exemple #2
0
        void DestroyHotKeyWindow()
        {
            if (hkWindow == null)
            {
                return;
            }

            VgcApis.Libs.Sys.FileLogger.Info("Destroy hot key window.");
            var wnd = hkWindow;

            hkWindow = null;
            wnd.ReleaseHandle();
            wnd.OnHotKeyMessage -= HandleHotKeyEvent;
            var handles = hkContexts.Keys;

            foreach (var handle in handles)
            {
                if (hkContexts.TryGetValue(handle, out var context))
                {
                    try
                    {
                        wnd.UnregisterHotKey(context);
                    }
                    catch { }
                }
            }
        }