Я использую win32 touchinjection на рабочем столе Windows 10.
Я два дня пытался получить симуляцию пера.
Код ниже работает с PointerInputType.Touch, но мне нужно давление и ориентация, которые, кажется, не работают.
GetLastError () возвращает 87, что означает неверный параметр, но я пробовал каждую пару параметров, о которых могу подумать.
InitializeTouchInjection();
pointer = new PointerTouchInfo();
pointer.PointerInfo.PointerId = 1;
pointer.PointerInfo.pointerType = PointerInputType.PEN;
pointer.TouchMasks = TouchMask.PRESSURE | TouchMask.ORIENTATION;
// pointer.TouchMasks = TouchMask.CONTACTAREA | TouchMask.ORIENTATION | TouchMask.PRESSURE;
pointer.Pressure = 1024;
pointer.Orientation = 90;
// pointer.PointerInfo.PtHimetricLocation.X = 50;
// pointer.PointerInfo.PtHimetricLocation.Y = 200;
pointer.PointerInfo.PtPixelLocation.X = 50;
pointer.PointerInfo.PtPixelLocation.Y = 200;
pointer.PointerInfo.PointerFlags = PointerFlags.INCONTACT |PointerFlags.INRANGE| PointerFlags.DOWN;
var a1=InjectTouchInput(1, new[] { pointer });
var b1 = GetLastError();
int errCode = Marshal.GetLastWin32Error();
Будем весьма благодарны за любую информацию о том, как я могу это сделать или отладить это дальше.
Задача ещё не решена.
Других решений пока нет …