上一篇文章大致介绍了一下C++实现Windows文件预览的方法,这里介绍一下通过.NET方式实现文件预览。
其实原理还是一样,需要通过实现系统定义的COM接口,包括
IInitializeWithFile,IObjectWithSite, IOleWindow,IPreviewHandler
等而C#并没有定义这些接口,因此我们需要把这些接口通过System.Runtime.InteropServices先从COM中引进到项目中
[ComImport]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("8895b1c6-b41f-4c1c-a562-0d564250836f")]
public interface IPreviewHandler
{
/// <summary>
/// Sets the parent window of the previewer window, as well as the area within the parent to be used for the previewer window.
/// </summary>
/// <param name="hwnd">A handle to the parent window.</param>
/// <param name="prc">A pointer to a RECT defining the area for the previewer.</param>
/// <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT erro