public void SetUp() { var kernel32 = MockRepository.GenerateStub<IKernel32>(); HookProc callback = delegate { return 1; }; _user32 = MockRepository.GenerateStub<IUser32>(); _user32.Stub(usr32 => usr32.SetWindowsHook(Arg<int>.Is.Anything, Arg<HookProc>.Is.Anything, Arg<IntPtr>.Is.Anything, Arg<int>.Is.Anything)) .WhenCalled(invocation=>callback = (HookProc)invocation.Arguments[1]) .Return(KEYBOARD_HOOK_HANDLE); EventHandler<KeyboardEventArgs> keyboardEventHandler = MockRepository.GenerateStub<EventHandler<KeyboardEventArgs>>(); KeyboardEventArgs eventArgs = new KeyboardEventArgs(0, new Dictionary<VirtualKeyCode, KeyState>()) {Handled = false}; keyboardEventHandler.Stub(handler => handler(null, null)).IgnoreArguments().WhenCalled(invocation => invocation.Arguments[1] = eventArgs); Keyboard keyboard = new Keyboard(_user32, kernel32); keyboard.KeyUp += keyboardEventHandler; KeyboardHookStruct keyboardData = new KeyboardHookStruct(); _ptr = Marshal.AllocHGlobal(Marshal.SizeOf(keyboardData)); Marshal.StructureToPtr(keyboardData, _ptr, true); callback(Constants.HC_ACTION, Constants.WM_KEYUP, _ptr); }
public void SetUp() { var kernel32 = MockRepository.GenerateStub<IKernel32>(); HookProc callback = delegate { return 1; }; _user32 = MockRepository.GenerateStub<IUser32>(); _user32.Stub(usr32 => usr32.SetWindowsHook(Arg<int>.Is.Anything, Arg<HookProc>.Is.Anything, Arg<IntPtr>.Is.Anything, Arg<int>.Is.Anything)) .WhenCalled(invocation=>callback = (HookProc)invocation.Arguments[1]) .Return(KEYBOARD_HOOK_HANDLE); _firstHandler = MockRepository.GenerateMock<EventHandler<KeyboardEventArgs>>(); _secondHandler = MockRepository.GenerateMock<EventHandler<KeyboardEventArgs>>(); Keyboard keyboard = new Keyboard(_user32, kernel32); keyboard.KeyUp += _firstHandler; keyboard.KeyUp += _secondHandler; KeyboardHookStruct keyboardData = new KeyboardHookStruct(); _ptr = Marshal.AllocHGlobal(Marshal.SizeOf(keyboardData)); Marshal.StructureToPtr(keyboardData, _ptr, true); callback(Constants.HC_ACTION, Constants.WM_KEYUP, _ptr); }
public void SetUp() { var kernel32 = MockRepository.GenerateStub<IKernel32>(); _user32 = MockRepository.GenerateStub<IUser32>(); _user32.Stub(usr32 => usr32.SetWindowsHook(Arg<int>.Is.Anything, Arg<HookProc>.Is.Anything, Arg<IntPtr>.Is.Anything, Arg<int>.Is.Anything)) .Return(KEYBOARD_HOOK_HANDLE); _user32.Stub(user32=>user32.UnhookWindowsHook(KEYBOARD_HOOK_HANDLE)).Return(1); EventHandler<KeyboardEventArgs> handler = MockRepository.GenerateStub<EventHandler<KeyboardEventArgs>>(); Keyboard keyboard = new Keyboard(_user32, kernel32); keyboard.KeyUp += handler; keyboard.KeyUp -= handler; }
public void SetUp() { var kernel32 = MockRepository.GenerateStub<IKernel32>(); _user32 = MockRepository.GenerateMock<IUser32>(); _user32.Stub(user32 => user32.SetWindowsHook( Arg<int>.Is.Equal(Constants.WH_KEYBOARD_LL), Arg<HookProc>.Is.Anything, Arg<IntPtr>.Is.Anything, Arg<int>.Is.Anything)).Return(1); Keyboard keyboard = new Keyboard(_user32, kernel32); keyboard.KeyUp += delegate { }; }