2011-08-25 14 views
5

Desarrollador amateur extralimitado que externaliza parte de mi trabajo y también parte de él. He estado trabajando en una aplicación de sugerencia de diccionario/tesauro/corrección de ortografía & que estoy tratando de poner en práctica en todas las aplicaciones dentro del entorno de Windows.API de entrada sin procesar Ámbito de uso en el sistema operativo Windows 7/Vista. ¿Se puede aplicar a todo el entorno o solo en la ventana enfocada?

He utilizado el enganche para obtener "Stokes" clave y mostrar resultados a medida que la persona escribe para obtener definiciones y sugerencias de ortografía. Esto no está logrando todo lo que quiero. Funciona bien para la revisión ortográfica y sugerencias, pero para hacer clic en una palabra que ya existe o para las interfaces de pantalla táctil para tocar una palabra, no funciona.

Estaba leyendo la API de entrada sin procesar en MSDN y pensé que funcionaría, pero el desarrollador que contraté me está avisando que el alcance de la entrada RAW solo está en la ventana que tiene foco y no puede enganchar bajo nivel. Estoy considerando dar el esfuerzo, pero quería una segunda perspectiva en el 2. ° cuarto antes de hacer el esfuerzo.

MSDN Referencia: http://msdn.microsoft.com/en-us/library/ff468896%28v=VS.85%29.aspx

esperanza toda la información de fondo no le quita a la pregunta. Aprecia tu visión.

Saludos,

John

Respuesta

2

Sí, tiene razón. Los mensajes RawInput (WM_INPUT) solo se generan para la ventana enfocada. Tal vez de alguna manera puedes evitarlo, pero este no es el problema principal.

RawInput realmente le da, como su nombre lo dice, los datos del mouse sin procesar. Estos datos son solo datos relativos de movimiento del mouse o delta del mouse. Los valores siguen ingresando en el mensaje cuando el mouse llega al borde de la pantalla, y lo más importante para su caso: no le da balística con el puntero (para obtener algunas explicaciones sobre la balística del indicador, consulte este artículo: http://msdn.microsoft.com/en-us/windows/hardware/gg463319). Esto hace que sea bastante imposible determinar la posición real del cursor.

Ahora puede intentar simular todo este comportamiento y simular la posición del cursor, pero la balística del puntero no es la misma en las diferentes versiones de Windows. XP tiene un comportamiento diferente al de Vista, y creo que cambiaron el formulario nuevamente en Windows 7.

La API sugiere que hay dispositivos que proporcionan datos posicionales en lugar de relativos, pero nunca me he encontrado con un dispositivo que exhibe este comportamiento, ni siquiera las pantallas táctiles (aunque esto probablemente depende del controlador), y ciertamente no funciona para un mouse estándar.

Cuestiones relacionadas