2013-12-16 8 views
5

Po wycięciu/skopiowaniu plików z Windows Explorer, można uzyskać tę listę plików za pomocą metody Clipboard.GetFileDropList.Aplikacja konsoli za pomocą schowka.GetFileDropList: jak sprawdzić, czy pochodzi z operacji wycinania lub kopiowania?

Jak ustalić, czy lista pochodzi z operacji cut lub copy, czy też powiadomić drugą stronę, że operacja wycinania/kopiowania została zakończona?

Na odwrót: możesz umieścić pliki do wycięcia lub skopiowania w schowku, używając metody Clipboard.SetFileDropList.

W jaki sposób można określić, że tę listę należy skopiować lub wyciąć?

Chodzi o aplikacji konsoli, więc nie mogę monitorować komunikaty systemu Windows WM_CUT lub WM_COPY jak sugeruje C# Files - in clipboard How to set/read which operation is called - Cut or Copy

Odpowiedz

1

Trzeba uzyskać wartość dla formatu „Preferred DropEffect” (patrz CFSTR_PREFERREDDROPEFFECT on MSDN). Zawiera on STGMEDIUM, którego pole hGlobal wskazuje wartość DWORD. Jeśli ta wartość to DROPEFFECT_COPY, jest to operacja kopiowania; jeśli jest to DROPEFFECT_MOVE, to operacja cięcia.

+0

Dzięki. Pójdę i wypróbuję to i wrócę z opinią, mam nadzieję, później w tym tygodniu (między mną a tym projektem badawczym pojawiła się pilna praca). –