tft每日頭條

 > 科技

 > 為什麼文件隻打印一半

為什麼文件隻打印一半

科技 更新时间:2024-08-05 16:13:01
請考慮這樣一個場景

一個文件夾裡有五個文檔,你選擇它們,然後右鍵選擇”打印”,系統會将它們打印出來,這毫無疑問。但是如果你細心觀察一下,就會發現系統打印它們的順序是随機的,這是為啥呢?

并沒有什麼魔幻的事情發生。外殼會一次在每個文檔上執行”打印”這個動作,根據對應的打印程序事先注冊好的打印流程,來執行下面幾個動作中的一種:

> 大多數情況下,打印文檔的程序會在shell\print\command注冊表鍵值下注冊一個簡單的命令。在這種情況下,應用程序會打開5次,每次打開不同的文件。所有這些打印命令現在都在争用打印機,問題是程序的哪個實例首先提交其打印作業,這決定了它們從打印機出來的順序(你可能會看到,最先打印出來的是一份最短和最簡單的文檔,因為它們需要更少的時間來渲染)。

> 偶爾情況下,打印文檔的程序會在shell\print\ddeexec注冊表鍵值下注冊一個DDE動作謂詞(verb)。在這種情況下,将啟動這個應有程序的實例,并每次都指定一個待打印的文件的文件名。對于這些文件的處理,完全取決于應用程序。如果程序支持後台打印,它可能會将文檔的打印分流到後台線程上,現在你的解決方案與之前的場景大緻相同: 五個後台線程每個都争相查看誰能先提交它們的打印作業。

> 在極少的情況下,打印文檔的程序在shell\print\DropTarget注冊表鍵值下注冊了一個拖放處理器處理程序(Drop Handler)。在這種情況下,拖放目标(Drop Target)被實例化并被賦予文件列表。然後由拖放目标決定如何處理這些文檔。

總結

關于更多關于以上三種打印注冊方式的細節信息,可以參考MSDN關于動作謂詞(Verb)以及文件關聯(File Associations)方面的内容。小弟就不細說了。

最後

Raymond Chen的《The Old New Thing》是我非常喜歡的博客之一,裡面有很多關于Windows的小知識,對于廣大Windows平台開發者來說,确實十分有幫助。本文來自:《Why are documents printed out of order when you multiselect and choose “Print”?》

為什麼文件隻打印一半(為什麼多個文件打印時順序是随機的)1

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved