2011-03-05 103 views
2

我期待獲得通過Windows API代碼包在Windows 7中提供的文件預覽,文件預覽與Windows API代碼包

http://archive.msdn.microsoft.com/WindowsAPICodePack

這是直接獲得該文件的縮略圖,但是否可以通過API代碼包找到文件的預覽?我發現創建一個預覽提供一些資料...

我發現縮略圖(文件類型的圖像):

ShellFile shellFile = ShellFile.FromFilePath(pathToYourFile); 
Bitmap shellThumb = shellFile.Thumbnail.ExtraLargeBitmap; 
+0

請注意,我不認爲這是API代碼包,但我認爲它應該是。有人可以建議一種方法來增加這種能力嗎?我是Windows API的新手 – ccook 2011-03-05 21:22:39

回答

2

有參與獲得IPreviewHandler包裹乾淨太多討厭的細節。令人震驚的是,它實際上在接口的SDK文章中提到:

預覽處理程序可以構建在 託管代碼中。通常,所有預覽 處理程序一起託管在名爲prevhost.exe的代理進程 中。 對於以正常 完整性級別運行的預覽處理程序,以及對於以低 完整性級別運行的預覽處理程序,存在此過程 的一個實例 。如果您想要 在受管理的 代碼中實現您的處理程序,則您的處理程序不應在這些共享的 進程中運行 。相反,爲您安排 處理程序通過在註冊表中創建一個新的AppID 項目獲取 prevhost.exe的新實例(指定 prevhost.exe作爲DllSurrogate 值),然後設置,作爲在該 的AppID值 您的處理程序的類ID的註冊表值。這將 確保爲您的處理程序創建了一個獨特的prevhost.exe實例, 而不是其他處理程序使用的常見實例 。

這是通常的頭痛與外殼接口,太多的盛況和環境,讓他們去。界面沒有包裝在代碼包中,我沒有看到它是如何被這個需要的註冊表重擊打幹淨的。也許你可以從界面名稱谷歌的東西。 Codeproject.com通常有一些東西。

+0

感謝您的反饋。我一直在尋找一種生成文檔預覽的方式,你有什麼建議嗎? – ccook 2011-03-06 15:29:46

+0

我已經做了,也讀了最後一段。 – 2011-03-06 15:40:38