Exemplo n.º 1
0
        public static void Main()
        {
            // Manual loading

            /*IMouseHook mouseHook = new Core.Windows.Mouse.MouseHook();
             * // IMouseHook mouseHook = new Core.Windows.Mouse.RawMouseHook();
             * IKeyboardHook keyboardHook = new Core.Windows.Keyboard.KeyboardHook();
             * IMessageLoop loop = new Core.Windows.MessageLoop.MessageLoop();*/

            // Dynamic loading
            IHook[] hooks = IHook
                            .Load(Environment.CurrentDirectory) // Load all hooks from current directory's DLLs
                            .Where(x => x.CanBeInstalled)       // Select only those hooks that are supported by the current OS
                            .Where(x => x.CanPreventDefault)    // We're interested in hooks that can prevent default event actions
                            .ToArray();

            IMouseHook    mouseHook    = hooks.OfType <IMouseHook>().First();
            IKeyboardHook keyboardHook = hooks.OfType <IKeyboardHook>().First();
            IMessageLoop  loop         = IMessageLoop.Load(Environment.CurrentDirectory).First(x => x.CanBeRunned);

            CancellationTokenSource source = new CancellationTokenSource();

            loop.OnEvent += Log;

            // Stop message loop on Ctrl + Shift + S
            keyboardHook.OnEvent += (_, e) =>
            {
                if (e.Key.HasFlags(Keys.Control, Keys.Shift, Keys.S))
                {
                    source.Cancel();
                }
            };

            // Disable 'M'
            keyboardHook.OnEvent += (_, e) =>
            {
                if (e.CanPreventDefault && e.Key.HasFlag(Keys.M))
                {
                    e.PreventDefault();
                }
            };

            // Disable middle mouse button
            mouseHook.OnEvent += (_, e) =>
            {
                if (e.CanPreventDefault && e.MouseEventType == MouseEventType.Key && e.Key == MouseButtons.Middle)
                {
                    e.PreventDefault();
                }
            };

            Console.WriteLine("Hook!");
            Console.WriteLine("Press CTRL + SHIFT + S to stop!");

            loop.Run(source.Token, mouseHook, keyboardHook);

            Console.Write("Press any key to exit...");
            Console.ReadKey(true);
        }
        public DisplayBindingService(IPropertyService propertyService, IMessageLoop mainThread,
            Func<ErrorDocumentDisplayBinding> errorDocDisplayBindingFactory)
        {
            main_thread = mainThread;
            error_doc_display_binding_factory = errorDocDisplayBindingFactory;

            descriptors = AddInTree.BuildItems<DisplayBindingDescriptor>(DisplayBindingPath, null, true);
            display_binding_properties = propertyService.NestedProperties("DisplayBindingService");
        }
 public TestExecutionManager()
 {
     this.buildService        = SD.BuildService;
     this.taskService         = new UnitTestTaskService();
     this.saveAllFilesCommand = new UnitTestSaveAllFilesCommand();
     this.testService         = SD.GetRequiredService <ITestService>();
     this.workbench           = SD.Workbench;
     this.statusBarService    = SD.StatusBar;
     this.mainThread          = SD.MainThread;
     this.buildOptions        = new UnitTestBuildOptions();
 }
Exemplo n.º 4
0
 public RecordCommand(
     ISessionManager sessionManager,
     IConsoleFormatter consoleFormatter,
     IInteractiveCommandLine commandLine,
     IMessageLoop messageLoop)
 {
     this.sessionManager   = sessionManager;
     this.consoleFormatter = consoleFormatter;
     this.commandLine      = commandLine;
     this.messageLoop      = messageLoop;
 }
		public TestExecutionManager()
		{
			this.buildService = SD.BuildService;
			this.taskService = new UnitTestTaskService();
			this.saveAllFilesCommand = new UnitTestSaveAllFilesCommand();
			this.testService = SD.GetRequiredService<ITestService>();
			this.workbench = SD.Workbench;
			this.statusBarService = SD.StatusBar;
			this.mainThread = SD.MainThread;
			this.buildOptions = new UnitTestBuildOptions();
		}
Exemplo n.º 6
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                this.mouseListener.Dispose();
                this.mouseListener = null;
                this.keyboardListener.Dispose();
                this.keyboardListener = null;

                if (this.messageLoop != null)
                {
                    this.messageLoop.Dispose();
                    this.messageLoop = null;
                }
            }

            base.Dispose(disposing);
        }
Exemplo n.º 7
0
 public DeviceListener()
 {
     this.keyboardListener = new KeyboardListener();
     this.mouseListener    = new MouseListener();
     this.messageLoop      = new WindowsFormsMessageLoop();
 }
Exemplo n.º 8
0
 public ThreadSafeCodeGenerator(CodeGenerator codeGenerator)
 {
     this.codeGenerator = codeGenerator;
     this.mainThread    = SD.MainThread;
 }
Exemplo n.º 9
0
 /// <inheritdoc cref="Run(IMessageLoop, long, Func{bool, bool}, IHook[])"/>
 public static void Run(this IMessageLoop loop, Func <bool, bool> goOnPredicate, params IHook[] hooks) => loop.Run(hooks, goOnPredicate);
Exemplo n.º 10
0
 /// <inheritdoc cref="Run(IMessageLoop, long, Func{bool, bool}, IHook[])"/>
 public static void Run(this IMessageLoop loop, IEnumerable <IHook> hooks) => loop.Run(hooks, quit => !quit);
Exemplo n.º 11
0
 /// <inheritdoc cref="Run(IMessageLoop, long, Func{bool, bool}, IHook[])"/>
 public static void Run(this IMessageLoop loop, params IHook[] hooks) => loop.Run(hooks, quit => !quit);
Exemplo n.º 12
0
 /// <inheritdoc cref="Run(IMessageLoop, long, Func{bool, bool}, IHook[])"/>
 public static void Run(this IMessageLoop loop, IEnumerable <IHook> hooks, long processId) => loop.Run(hooks, processId, quit => !quit);
Exemplo n.º 13
0
 /// <inheritdoc cref="Run(IMessageLoop, long, IHook[])"/>
 public static void Run(this IMessageLoop loop, Process process, params IHook[] hooks) => loop.Run(hooks, process.Id, quit => !quit);
Exemplo n.º 14
0
 /// <inheritdoc cref="Run(IMessageLoop, IEnumerable{IHook}, long, CancellationToken)"/>
 public static void Run(this IMessageLoop loop, CancellationToken cancellationToken, params IHook[] hooks) => loop.Run(hooks, quit => !(quit || cancellationToken.IsCancellationRequested));
Exemplo n.º 15
0
 /// <inheritdoc cref="Run(IMessageLoop, IEnumerable{IHook}, long, CancellationToken)"/>
 public static void Run(this IMessageLoop loop, IEnumerable <IHook> hooks, CancellationToken cancellationToken) => loop.Run(hooks, quit => !(quit || cancellationToken.IsCancellationRequested));
 public ThreadSafeCodeGenerator(CodeGenerator codeGenerator)
 {
     this.codeGenerator = codeGenerator;
     this.mainThread = SD.MainThread;
 }