2013-12-16 9 views
5

Khi bạn cắt/sao chép tệp từ Windows Explorer, bạn có thể nhận danh sách tệp đó qua phương thức Clipboard.GetFileDropList.Ứng dụng bảng điều khiển bằng cách sử dụng Clipboard.GetFileDropList: cách kiểm tra xem nó có đến từ thao tác cắt hoặc sao chép không?

Làm cách nào bạn có thể xác định danh sách đó đến từ hoạt động cut hoặc copy hoặc thông báo cho bên kia biết rằng thao tác cắt/sao chép đã hoàn tất?

Cách khác xung quanh: bạn có thể đặt các tệp được cắt hoặc sao chép vào khay nhớ tạm bằng phương pháp Clipboard.SetFileDropList.

Làm cách nào bạn có thể chỉ định rằng danh sách này sẽ được sao chép hoặc cắt?

này nói về một ứng dụng giao diện điều khiển, vì vậy tôi không thể theo dõi các thông điệp của Windows WM_CUT hoặc WM_COPY theo đề nghị của C# Files - in clipboard How to set/read which operation is called - Cut or Copy

Trả lời

1

Bạn cần phải nhận được giá trị so với định dạng "Preferred DropEffect" (xem CFSTR_PREFERREDDROPEFFECT on MSDN). Nó chứa một số STGMEDIUMhGlobal điểm trường cho giá trị DWORD. Nếu giá trị này là DROPEFFECT_COPY, đó là thao tác sao chép; nếu đó là DROPEFFECT_MOVE, đó là một thao tác cắt.

+0

Cảm ơn. Tôi sẽ đi và thử điều này và quay trở lại với phản hồi hy vọng vào cuối tuần này (một số công việc bức xúc đến giữa tôi và dự án nghiên cứu này). –

Các vấn đề liên quan