示例#1
0
        public void DisposeWillNotFailIfHotKeyWasAlreadyDisposed()
        {
            using (var dummyWindow = DummyWindow.Create())
            {
                // Arrange
                var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Control | HotKeyModifier.Shift;
                var virtualKeyCode = (UInt32)65; // A
                JanHafner.Toolkit.Windows.HotKey.GlobalHotKey globalHotKey = null;

                using (globalHotKey = JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Register(dummyWindow.WindowHandle,
                                                                                             hotKeyModifier, virtualKeyCode))
                {
                }

                // Act, Assert
                globalHotKey.Invoking(ghk => ghk.Dispose()).Should().NotThrow <ObjectDisposedException>();
            }
        }
示例#2
0
        public void UnregisterWillFailIfWindowHandleIsInvalid()
        {
            // Arrange
            var windowHandle   = IntPtr.Zero;
            var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Control | HotKeyModifier.Shift;
            var virtualKeyCode = (UInt32)65; // A

            JanHafner.Toolkit.Windows.HotKey.GlobalHotKey globalHotKey = null;

            using (var dummyWindow = DummyWindow.Create())
            {
                windowHandle = dummyWindow.WindowHandle;

                globalHotKey = JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Register(windowHandle, hotKeyModifier, virtualKeyCode);
            }

            globalHotKey.Invoking(ghk => ghk.Unregister()).Should().Throw <Win32Exception>();
        }
示例#3
0
        public void DisposeWillDisposeTheHotKey()
        {
            using (var dummyWindow = DummyWindow.Create())
            {
                // Arrange
                var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Control | HotKeyModifier.Shift;
                var virtualKeyCode = (UInt32)65; // A
                JanHafner.Toolkit.Windows.HotKey.GlobalHotKey globalHotKey = null;

                // Act
                using (globalHotKey = JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Register(dummyWindow.WindowHandle,
                                                                                             hotKeyModifier, virtualKeyCode))
                {
                }

                // Assert
                globalHotKey.HotKeyModifier.Should().Be(HotKeyModifier.None);
                globalHotKey.WindowHandle.Should().Be(IntPtr.Zero);
                globalHotKey.VirtualKeyCode.Should().Be(0);
            }
        }