(COM 代码)    
===================================================================
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.EnterpriseServices;
  
    //定义接口
    [ComImport(), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), GuidAttribute("000214FC-0000-0000-C000-000000000046")]
    public interface ICopyHook
    {
       // [PreserveSig()]
        uint CopyCallback(IntPtr hwnd, uint wFunc, uint wFlags,
                           string pszSrcFile, uint dwSrcAttribs,
                           string pszDestFile, uint dwDestAttribs);    }
    //返回值
    public enum CopyHook_ReturnValue : uint { IDCANCEL = 2, IDYES = 6, IDNO = 7 }
    //操作值
    public enum CopyHook_OPERATIONS : uint { FO_MOVE = 1, FO_COPY = 2, FO_DELETE = 3, FO_RENAME = 4 }
    //实现类
    [Guid("33B8E49A-AE67-451e-9CA3-BB67B0FFA79D"), ComVisible(true)]
    public class CopyHook : ICopyHook
    {
       
       // [PreserveSig()]
     //   [DispId(1)]  
       public uint CopyCallback(IntPtr hwnd, uint wFunc, uint wFlags,
                          string pszSrcFile, uint dwSrcAttribs,
                          string pszDestFile, uint dwDestAttribs)
        {
            System.Windows.Forms.MessageBox.Show("hello?" + pszDestFile);
            return (uint)CopyHook_ReturnValue.IDYES;
        }
    }    [StructLayout(LayoutKind.Sequential)]
    public class SHFILEOPSTRUCT
    {
        public int hwnd;
        public int wFunc;
        [MarshalAs(UnmanagedType.LPWStr)]
        public string pFrom;
        [MarshalAs(UnmanagedType.LPWStr)]
        public string pTo;
        public int fFlags;
        [MarshalAs(UnmanagedType.Bool)]
        public bool fAnyOperationsAborted;
        public int hNameMappings;
        [MarshalAs(UnmanagedType.LPWStr)]
        public string lpszProgressTitle;    }
===========================================================
测试端
===============================================================
  [ComImport(), GuidAttribute("33B8E49A-AE67-451e-9CA3-BB67B0FFA79D")]
    public class copy
    {    }
    public static void Main()
    {
        copy j = new copy();// 执行到这里报错:无法将类型为“CopyHook”的对象强制转换为类型“copy”。
     }================================================================
com是用来完成一个copyhook的SHELL,而这里调用都不行~~真是郁闷啊~请大虾帮下忙,谢谢了