Моето изискване е да получа подробности за елементите, които се изтеглят от Outlook 2007.
Използвах API на Windows, за да регистрирам събитие за плъзгане в Outlook 2007, както следва ... (public static extern int RegisterDragDrop(IntPtr hwnd, IOleDropTarget target);
), и използвах IOleDropTarget
интерфейс за извличане на информация, когато възникнат събития с плъзгане.
Следва това, което направих досега
Интерфейс IOleDropTarget
[ComImport, Guid("00000122-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOleDropTarget
{
[PreserveSig]
int OleDragEnter([In, MarshalAs(UnmanagedType.Interface)] object pDataObj, [In, MarshalAs(UnmanagedType.U4)] int grfKeyState, [In, MarshalAs(UnmanagedType.U8)] long pt, [In, Out] ref int pdwEffect);
[PreserveSig]
int OleDragOver([In, MarshalAs(UnmanagedType.U4)] int grfKeyState, [In, MarshalAs(UnmanagedType.U8)] long pt, [In, Out] ref int pdwEffect);
[PreserveSig]
int OleDragLeave();
[PreserveSig]
int OleDrop([In, MarshalAs(UnmanagedType.Interface)] object pDataObj, [In, MarshalAs(UnmanagedType.U4)] int grfKeyState, [In, MarshalAs(UnmanagedType.U8)] long pt, [In, Out] ref int pdwEffect);
}
В случай на изтегляне на елемент от Outlook, следващият метод се задейства с всички параметри, предадени на метода.
int IOleDropTarget.OleDragEnter(object pDataObj, int grfKeyState, long pt, ref int pdwEffect)
{
retirn 0;
}
Възможно ли е да получите информация за елемента, който се плъзга, като използвате pDataObj
?
Досега се опитвах да следвам, за да получа информация от този обект, което не ми даде информация за елемента, който се влачи.
Type myType = pDataObj.GetType();
Има ли други неща, които трябва да направя, за да получа информацията, която искам?
Ще бъдат оценени примери за код
Благодаря ти