Как методы ввода получают курсор / позицию курсора клавиатуры?И как это сделать в C #? - PullRequest
0 голосов
/ 11 июня 2019

Я работаю над проектом на C #, который должен получить позицию курсора / курсора клавиатуры.

Я использую метод, вызывающий Win32 Apis.Используя этот блог: https://www.codeproject.com/Articles/34520/Getting-Caret-Position-Inside-Any-Application

https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-getguithreadinfo

https://docs.microsoft.com/en-us/windows/desktop/api/winuser/ns-winuser-guithreadinfo

NativeMethods.GUITHREADINFO gUITHREADINFO = new NativeMethods.GUITHREADINFO();
gUITHREADINFO.cbSize = (uint)Marshal.SizeOf(gUITHREADINFO);

if (!NativeMethods.GetGUIThreadInfo(0, out gUITHREADINFO))
{
   return new int[] { 0, 0 };
}
[DllImport("user32.dll")]
public static extern bool GetGUIThreadInfo(uint tId, out GUITHREADINFO threadInfo);

Но такой метод имеет ограничения.Он не будет работать в приложениях на основе Chrome и Chrome, а также в приложениях на основе Java.

Я заметил, что в некоторых неанглийских методах ввода есть функция, позволяющая отслеживать ввод с клавиатуры / курсор.Как они работают?Или как мне получить клавиатуру в Chrome в C #?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...