如何在Metro风格的应用程序中选择打印机

时间:2012-09-16 13:05:47

标签: c# printing microsoft-metro windows-runtime

我正在尝试将现有的桌面应用转换为 metro style app (Win8和VS12)。 但是我很难处理打印。

我的软件有两个用户 - “管理员”和“用户”。 我希望“管理员”能够选择打印机和打印机设置, 并且“用户”需要按下“打印”按钮,就是这样。

问题是:

  1. 我找不到如何连接所有连接的打印机。 (DeviceInformation.FindAllAsync()要求DeviceClass仅包含这些选项 - All, AudioCapture, AudioRender, PortableStorageDevice, VideoCapture)。 [在我的原始应用程序(WPF)中,我正在使用PrinterSettings.InstalledPrinters]

  2. 我找不到打印到选定打印机的方法(即使我已经知道了名字)。 因为(据我所知),打印的唯一方法是打开(使用代码或注册)“魅力”栏,让用户选择打印机。 如果我不希望用户使用指定的打印机怎么办?

  3. 有没有办法引用一个“正常”的C#dll来为Metro风格的应用程序做“脏东西”?当我正在尝试时,我得到“无法添加对项目'Try1'的引用”。是否有办法绕过它?

  4. 非常感谢你!

1 个答案:

答案 0 :(得分:2)

现在在Windows应用商店应用中打印handled by a task。您不必完成查找打印机并让用户选择一台打印机的所有工作,现在由Windows处理。