Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以编程方式关闭Windows 10应用程序上的打印UI?_C#_Printing_Windows 10_Win Universal App - Fatal编程技术网

C# 如何以编程方式关闭Windows 10应用程序上的打印UI?

C# 如何以编程方式关闭Windows 10应用程序上的打印UI?,c#,printing,windows-10,win-universal-app,C#,Printing,Windows 10,Win Universal App,我正在设计一个Windows 10通用应用程序,使用此存储库作为指南。我目前通过拨打以下电话进行全功能打印: await Printmanager.ShowPrintUIAsync(); 在我的应用程序中,还有一个活动计时器,它可以在用户处于非活动状态一段时间后注销用户。这部分工作正常,但我无法在注销时关闭打印ui 注意:通常要关闭windows异步操作,您可以执行以下类似操作: IAsyncOperation<bool> printOperation = Printmanage

我正在设计一个Windows 10通用应用程序,使用此存储库作为指南。我目前通过拨打以下电话进行全功能打印:

await Printmanager.ShowPrintUIAsync(); 
在我的应用程序中,还有一个活动计时器,它可以在用户处于非活动状态一段时间后注销用户。这部分工作正常,但我无法在注销时关闭打印ui

注意:通常要关闭windows异步操作,您可以执行以下类似操作:

IAsyncOperation<bool> printOperation = Printmanager.ShowPrintUIAsync();
printOperation.Cancel();
IAsyncOperation printOperation=Printmanager.ShowPrintUIAsync();
printOperation.Cancel();
这适用于其他异步操作,但我无法使其适用于打印UI,因为打印UI不是应用程序的子进程,而是一个单独的进程本身

提前谢谢

此外,似乎有一种解决方案可以杀死Windows 8中的进程,而Windows 10应用程序(Process.GetProcessByName…或FindWindow)不再支持该解决方案

也许有什么方法可以按名称杀死Windows 10进程?

你不能这么做

所有Metro风格的应用程序都在高度沙盒化的环境中工作,无法直接启动外部应用程序。 摘自

也许解决方案是创建一个代理。

这可以帮助您,因为您可以间接终止该过程


我希望这会有所帮助。

我可能错了,但这不是只适用于Windows桌面应用程序吗?在GetProcessByName文档中,它说:Windows 2000 Professional[仅适用于桌面应用程序],此外,Windows 10似乎不支持系统。Diagnostics dll。同样,我可能错了(希望我错了!)。你确定可以在Windows 10通用应用程序中使用此功能吗,我无法获取dllFindWindow无法在Windows应用商店应用程序中使用,此功能是GDI API的一部分,它基于Windows句柄,Windows Store/Universal/Phone/Metro/WinRT应用程序甚至不存在这些句柄。顺便说一句,类System.Diagnostics.Process也受到限制。我认为。你确定你在正确的地方打电话吗?