Ist es möglich, eine Datei in einer Art von Drag-Ereignis zu manipulieren?Drag & Drop C++ manipulieren Outlook-Datei vor dem Absturz
Wie Sie meine wissen die meisten Windows-Programme (Outlook in diesem speziellen Fall) verwenden Streams zu einem Drag & Drop-Operation, die bestimmte Programme von Drittanbietern nicht verstehen (z. B. Firefox, Chrome). Da ich nicht in der Lage bin, das Programmverhalten von Drittanbietern zu ändern, habe ich versucht, ein Outlook-Add-In zu codieren, das die Datei in einen temporären Ordner kopiert und die Drop-Informationen manipuliert, bevor das Drop-on-Programm auftaucht.
Ich habe das folgende Problem:
Event, an das ich zu stören bin eine extreme Abhilfe: Das „Dragenter“ COM-Ereignis in Outlook, so dass eine gezogenes E-Mail eines weiteren Ausblick Element überqueren muss ausgelöst werden . Es war nur zu Testzwecken. Die Frage ist, wo kann ich global hängen, wenn eine E-Mail gezogen wird und gleichzeitig die Drop-Informationen manipulieren oder meinen eigenen Drag & Drop (DoDragDrop (..)) zwingen?
HRESULT TDropTarget::DragEnter(IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) {
//...
//get data from pDataObj, create file and new IDataObject* pDataObject which points to file
DWORD dwResult = DoDragDrop(pDataObject, pDropSource, DROPEFFECT_COPY, pdwEffect);
if(dwResult == DRAGDROP_S_DROP) { // success!
OutputDebugString(TEXT("DRAGDROP_S_DROP\r\n"));
} else if (dwResult == DRAGDROP_S_CANCEL) { // cancelled
OutputDebugString(TEXT("DRAGDROP_S_CANCEL\r\n"));
}
pDataObject->Release();
pDropSource->Release();
return S_OK;
}