Beispiel #1
0
 public NativeHostBase(IWindowMessageInterceptor messageInterceptor, IKeyboadHookHandler keyboadHandler)
 {
     _isInitialized      = false;
     _handle             = IntPtr.Zero;
     _messageInterceptor = messageInterceptor;
     _keyboadHandler     = keyboadHandler;
 }
Beispiel #2
0
 public KeyboardLLHook(IntPtr handler, IWindowOptions options, IKeyboadHookHandler keyboadHandler) : base(WH.KEYBOARD_LL)
 {
     _handler         = handler;
     _options         = options;
     _keyboadHandler  = keyboadHandler;
     HookEventHandler = OnKeyboardEvent;
 }
Beispiel #3
0
        public NativeHostBase(IChromelyConfiguration config, IWindowMessageInterceptor messageInterceptor, IKeyboadHookHandler keyboadHandler)
        {
            _config  = config;
            _options = _config?.WindowOptions ?? new WindowOptions();

            _isInitialized      = false;
            _handle             = IntPtr.Zero;
            _messageInterceptor = messageInterceptor;
            _keyboadHandler     = keyboadHandler;
        }
 public ChromelyWinHost(IWindowMessageInterceptor messageInterceptor, IKeyboadHookHandler keyboadHandler)
     : base(messageInterceptor, keyboadHandler)
 {
 }
Beispiel #5
0
 public ChromelyWinHost(IChromelyConfiguration config, IWindowMessageInterceptor messageInterceptor, IKeyboadHookHandler keyboadHandler)
     : base(config, messageInterceptor, keyboadHandler)
 {
 }
Beispiel #6
0
        public unsafe virtual void CreateWindow(IWindowOptions options, bool debugging)
        {
            _options = options;
            if (_keyboadHandler == null)
            {
                _keyboadHandler = new DefaulKeyboadHookHandler(this, _options);
            }

            _wndProc = WndProc;
            _consoleParentInstance = GetConsoleWindow();
            _options.WindowState   = (_options.Fullscreen || _options.KioskMode) ?  WindowState.Fullscreen : _options.WindowState;
            _windoStylePlacement   = new WindowStylePlacement(_options);

            User32.WNDCLASS wcex = new User32.WNDCLASS();
            wcex.style         = User32.CS.HREDRAW | User32.CS.VREDRAW;
            wcex.lpfnWndProc   = Marshal.GetFunctionPointerForDelegate(_wndProc);
            wcex.cbClsExtra    = 0;
            wcex.cbWndExtra    = 0;
            wcex.hIcon         = GetIconHandle();
            wcex.hCursor       = User32.LoadCursorW(IntPtr.Zero, (IntPtr)CursorResourceId.IDC_ARROW);
            wcex.hbrBackground = Gdi32.GetStockObject(Gdi32.StockObject.WHITE_BRUSH);
            wcex.lpszMenuName  = null;
            wcex.hInstance     = _consoleParentInstance;

            fixed(char *c = Chromely_WINDOW_CLASS)
            {
                wcex.lpszClassName = c;
            }

            if (User32.RegisterClassW(ref wcex) == 0)
            {
                Logger.Instance.Log.LogError("Chromelywindow registration failed");
                return;
            }

            var stylePlacement = GetWindowStylePlacement(_options.WindowState);

            var hWnd = User32.CreateWindowExW(
                stylePlacement.ExStyles,
                Chromely_WINDOW_CLASS,
                _options.Title,
                stylePlacement.Styles,
                stylePlacement.RECT.left,
                stylePlacement.RECT.top,
                stylePlacement.RECT.Width,
                stylePlacement.RECT.Height,
                IntPtr.Zero,
                IntPtr.Zero,
                _consoleParentInstance,
                null);

            if (hWnd == IntPtr.Zero)
            {
                Logger.Instance.Log.LogError("Chromelywindow creation failed");
                return;
            }

            PlaceWindow(hWnd, stylePlacement);
            InstallHooks(hWnd);
            ShowWindow(hWnd, stylePlacement.ShowCommand);
            UpdateWindow(hWnd);
            RegisterHotKeys(hWnd);
        }
Beispiel #7
0
 public NativeHostBase(IKeyboadHookHandler keyboadHandler = null)
 {
     _isInitialized  = false;
     _handle         = IntPtr.Zero;
     _keyboadHandler = keyboadHandler;
 }
Beispiel #8
0
 public ChromelyHost(IKeyboadHookHandler keyboadHandler = null) : base(keyboadHandler)
 {
 }