Exemplo n.º 1
0
        public unsafe DirectMouse(Form form)
        {
            _form = form;
            _hWnd = form.Handle;
            if (_device == null)
            {
                using (var dinput = new DirectInput8W())
                {
                    _device = dinput.CreateDevice(SysGuid.GUID_SysMouse, null);
                }
                _device.SetDataFormat(DIDATAFORMAT.c_dfDIMouse).CheckError();

                form.Deactivate += WndDeactivate;
            }
        }
Exemplo n.º 2
0
 public unsafe DirectKeyboard(Form form)
 {
     if (form == null)
     {
         throw new ArgumentNullException("form");
     }
     _form = form;
     _hWnd = form.Handle;
     using (var dinput = new DirectInput8W())
     {
         _device = dinput.CreateDevice(SysGuid.GUID_SysKeyboard, null);
     }
     _device.SetDataFormat(DIDATAFORMAT.c_dfDIKeyboard).CheckError();
     _device.SetCooperativeLevel(_hWnd, DISCL.NONEXCLUSIVE | DISCL.FOREGROUND).CheckError();
     form.Deactivate += WndDeactivate;
     TryAcquire();
     _mapper.LoadMapFromString(
         global::ZXMAK2.Host.WinForms.Properties.Resources.Keyboard_Mdx);
 }
Exemplo n.º 3
0
        public MainWindow(MainWindowViewModel viewModel, CommandRunner commandRunner, ConfigurationManager configurationManager,
                          TranslationService translationService, DynamicHttpClientProvider dynamicHttpClientProvider, InputDeviceManager inputDeviceManager)
        {
            this.viewModel            = viewModel;
            this.commandRunner        = commandRunner;
            this.configurationManager = configurationManager;
            DataContext = viewModel;
            InitializeComponent();
            var helper = new WindowInteropHelper(this);

            WindowHandleStore.Handle = helper.EnsureHandle();
            appConfig = configurationManager.Load(() => new AppConfig(translationService.DefaultLanguage));
            if (!translationService.Load(appConfig.Language))
            {
                translationService.Load(translationService.DefaultLanguage);
            }
            ViewModel.Model.MainContent = ApplicationContext.Global.Resolve <GeneralPanel>();
            if (appConfig.ServerUrl != null)
            {
                var uri = new Uri($"http://{appConfig.ServerUrl}/api/");
                dynamicHttpClientProvider.SetBaseAddress(uri);
                if (appConfig.AutoConnect)
                {
                    // TODO autoconnect
                }
            }
            if (!appConfig.Minimized)
            {
                Show();
            }
            IntPtr value;
            var    hinst         = DInput8.GetModuleHandle(null);
            var    guid          = IID.IID_IDirectInput8W;
            var    x             = DInput8.DirectInput8Create(hinst, 0x00000800, guid, out value, IntPtr.Zero);
            var    err           = System.Runtime.InteropServices.Marshal.GetLastWin32Error();
            var    directInput8W = new DirectInput8W(value);

            directInput8W.GetLifetimeService();
            inputDeviceManager.Start();
        }