gpt4 book ai didi

c# - Win32 笔模拟不适用于 InjectTouchInput()

转载 作者:行者123 更新时间:2023-11-28 04:47:20 31 4
gpt4 key购买 nike

我在 Windows 10 桌面上使用 win32 touchinjection。

这两天我一直在尝试获取笔模拟。

下面的代码适用于 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();

如能提供有关我如何使它正常工作或进一步调试的任何信息,我们将不胜感激。

最佳答案

有一个新的 InjectSyntheticPointerInput API 与 InjectTouchInput 非常相似,它支持笔和触摸。无法帮助 C# 或 .NET,但我想它可以以相同的方式公开。唯一的问题是它仅受 Windows 10 1809 及更高版本支持,因此您至少需要该版本的 Windows SDK(仅支持 Visual Studio 2017,不支持 2015,仅供引用)。

关于c# - Win32 笔模拟不适用于 InjectTouchInput(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49016312/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com