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

How to programmatically close the print UI on a Windows 10 application?

我正在设计一个 Windows 10 通用应用程序,使用此 https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/Printing/cs 存储库作为 guide。我目前可以通过调用以下功能进行全功能打印:

await Printmanager.ShowPrintUIAsync(); 

在我的应用程序中还有一个 activity 计时器,它会在用户处于非活动状态一段时间后将其注销。这部分工作正常,但我无法在注销时关闭打印 ui。

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

IAsyncOperation<bool> printOperation = Printmanager.ShowPrintUIAsync();
printOperation.Cancel();

这适用于其他 AsyncOperation 事件,但我无法使其适用于打印 UI,因为打印 UI 不是应用程序的子进程,而是一个单独的进程本身

提前致谢!

此外,Windows 8 中似乎有一个终止进程的解决方案,Windows 10 应用程序(Process.GetProcessByName .... 或 FindWindow)不再支持该解决方案

也许有办法按名称杀死 Windows 10 个进程?

你不能那样做。

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

也许解决方案是创建代理。 How to Start a external Program from Metro App

这可能对您有所帮助,因为您可以间接终止进程。

希望对您有所帮助。