はC++ Win32アプリケーションで動作しており、DragAndDrop
操作を実装しています。WndProc
WM_DROPFILES
でコールするエクスプローラからエクスプローラのファイルとフォルダをドラッグできますDragAndDropファイルとフォルダをWin32アプリケーションからエクスプローラにしようとしています。Win32アプリケーションからファイルとフォルダをドラッグしてエクスプローラにドロップする方法
Karlsson’s Drag-and-Drop Cテキストドロップのライブラリを使用していますが、私の要件は、ファイルとフォルダをwin32アプリケーションからエクスプローラにドラッグアンドドロップすることです。以下は、ドロップテキストのサンプルコードです。
case WM_LBUTTONDOWN:
{
char* text = "Hello, World! This is the drop source.";
HANDLE text_on_heap;
PMYDROPSOURCE text_drop_source;
CLIPFORMAT cf[1] = { CF_TEXT };
text_on_heap = GlobalAlloc(GMEM_FIXED, strlen(text) + 1);
if (NULL == text_on_heap) break;
strcpy((char*)text_on_heap, text);
text_drop_source = CreateMyDropSource(FALSE, cf, &text_on_heap, 1);
if (NULL != text_drop_source)
{
/* Drop source created, so begin the drag. This will block. */
MyDragDropSource(text_drop_source);
/* Drag-drop is done so destroy the drop source. */
FreeMyDropSource(text_drop_source);
}
/* Free up the buffer; drag-drop is finished. */
GlobalFree(text_on_heap);
return TRUE;
}
あなたのコードはここでファイルを操作しようとしません –
@DavidHeffernanはい。そのドラッグ&ドロップのサンプルコードは、ドラッグアンドドロップのファイルとフォルダを探しています。同じ方法私はCF_HDROPしようとしたが、動作しません。 – Krish
なぜ研究をしないのですか?これがあれば、たくさんの例があります。 –