我使用InputInjector
来模拟鼠标单击自定义UWP
控件中的UI元素(使用XamlHost
将其包含在WPF
应用程序中)。我在本文的基础上实现。它在我的PC上工作得很好,但在另一台PC上无法创建Input Injector实例。当InputInjector.TryCreate();
被调用时,它抛出以下异常:
System.Runtime.InteropServices.COMException (0x80010117): Call context cannot be accessed after call completed. (0x80010117)
at System.StubHelpers.StubHelpers.GetWinRTFactoryObject(IntPtr pCPCMD)
at Windows.UI.Input.Preview.Injection.InputInjector.TryCreate()
at >MyMethod()<
这到底是什么意思?我试着在UI和后台线程上运行这个函数,但都失败了。有什么问题吗?
更新:
另一台PC的操作系统版本是1909 (build 18363.1316),我的PC的版本是更新的:2004。我看到InputInjector是在10.0.14393.0
中引入的在UWP中初始化InputInjector错误
在测试期间,我们无法重现您的问题,看起来是操作系统的问题,您可以尝试将pc的操作系统更新到最新版本。再次测试,它在我的环境(最新版本)中运行良好。