我有一个metro应用程序,想要检测打印机超级按钮何时打开和关闭。这个是可能的吗?
发布于 2013-05-01 15:44:32
你可以使用PrintManager
的PrintTaskRequested
事件。当打印机的符号栏打开时,该事件就会发生。PrintTaskRequested
事件使用PrintTask
对象进行打印。它有一个叫做Completed
事件的事件。当打印任务完成时,它就会触发。
PrintTask类的MSDN文档
PrintManager类的MSDN文档
XAML
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<Button Click="Button_Click_1" Content="Print" />
</Grid>
C#
public sealed partial class BlankPage2 : Page
{
public BlankPage2()
{
this.InitializeComponent();
PrintManager printMan = PrintManager.GetForCurrentView();
printMan.PrintTaskRequested += PrintTaskRequested;
}
private void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)
{
System.Diagnostics.Debug.WriteLine("Printer Opened");
//TODO:
PrintTask printTask = e.Request.CreatePrintTask(....);
printTask.Completed += printTask_Completed;
}
void printTask_Completed(PrintTask sender, PrintTaskCompletedEventArgs args)
{
//TODO:
}
private async void Button_Click_1(object sender, RoutedEventArgs e)
{
await Windows.Graphics.Printing.PrintManager.ShowPrintUIAsync();
}
}
https://stackoverflow.com/questions/16313757
复制相似问题