SetWindowsHookEx vs. SetWinHookEventEx
.net, api, c#, windows
Solution
`SetWindowsHookEx` sets low-level hooks which can intercept and re-write several system-wide events and messages (like capturing and re-writing keyboard input).
`SetWinEventHook` allows you to listen to Window events without having a window. It's higher level and less intrusive to the system.
Neither of this is required for running other applications from a service. Look at `System.Diagnostics.Process` (built into .Net) or `RunProcess` on NuGet
Problem
What are the main differences (how it works/dependencies/purpose/minimal requirements) between SetWindowsHookEx and SetWinEventHook ? I'm interested in intercepting events related to running windows applications from a Windows service using C#/.Net.