2012-09-16 76 views
0

我試圖將現有的桌面應用程序轉換爲metro風格的應用程序(Win8 & VS12)。 但我很難處理打印。如何在Metro風格的應用程序中選擇打印機

我的軟件有兩個用戶 - 「管理員」和「用戶」。 我想要「管理員」能夠選擇打印機和打印機設置, 和「用戶」需要按「打印」按鈕,就是這樣。

的煩惱是:

  1. 我無法找到如何讓所有連接的打印機。 (DeviceInformation.FindAllAsync()要求DeviceClass只有這些選項 - All, AudioCapture, AudioRender, PortableStorageDevice, VideoCapture)。我在使用PrinterSettings.InstalledPrinters]

  2. 我找不到打印到選定打印機(即使我已經知道名稱)的方法。 因爲(據我所知),打印的唯一方法是打開(使用代碼或註冊)「魅力」欄,並讓用戶選擇打印機。 如果我不希望用戶使用指定的打印機,該怎麼辦?

  3. 有沒有辦法引用一個「正常」的C#dll,將爲城市風格的應用程序做「髒東西」?當我嘗試,我得到「無法添加引用項目'Try1'」。有沒有辦法繞過它?

非常感謝您提前!

回答

2

在Windows應用商店應用中打印現在是handled by a task。您不必完成查找打印機並讓用戶選擇一個的所有工作,現在由Windows處理。

+0

但事實並非如此。我想選擇一臺特定的打印機。並且不讓用戶去做。 – itsho

+0

對。我告訴你,這不是它在Windows Store應用程序中的工作原理。微軟希望爲Windows 8用戶提供統一的體驗,其中一切都按照預期的方式工作(例如,他們點擊打印魅力,然後他們選擇打印機),並且沒有辦法規避這種情況。 –

+0

1.所以你說這是不可能的[像這樣](http://nicholas.piasecki.name/blog/2008/11/programmatically-selecting-complex-printer-options-in-c-shar/ )? 2.我的第三個問題呢? – itsho

相關問題