Necesito obtener la entrada del usuario sin pausar la aplicación o tener un evento. ¿Hay alguna forma de obtenerlo sin eventos ni pausas? Ya que tengo un temporizador que realiza otras acciones y no quiero agregar eventos porque eso resultará en un código desordenado. Entonces, ¿hay alguna forma de presionar la tecla sin pausar la aplicación o el evento?
Gracias.
Puede usar la función GetKeyState de la API de User32, que le permite consultar si se presiona una tecla. Al hacerlo, no necesitaría manejar eventos (o ganchos) por separado, sino que podría hacerlo directamente en su método de temporizador.
[DllImport("user32")] public static extern short GetKeyState(int nVirtKey);Esta documentación entra en más detalles: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getkeystate
Editar: aquí hay un ejemplo de un método que usa eso:
public static bool LeftCtrlDown() { return (User32API.GetKeyState(User32API.VK_LCONTROL) & 0x8000) == 0x8000; }