Я работаю над проектом на 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 #?