Программное вставление файлов из буфера обмена: копировать или переместить? - PullRequest
5 голосов
/ 05 января 2012

Я пытаюсь создать приложение WPF, чтобы я мог копировать / вырезать и вставлять информацию о файлах, и он скопировал бы / переместил их в специальную папку. Я знаю, что могу получить пути к файлам, которые копируются / режутся с помощью

var files = Clipboard.GetFileDropList();

Но я хотел бы знать, нужно ли мне копировать или перемещать файлы? Я читал кое-что о прослушивании WM_COPY и WM_CUT. И я попытался подключить крючок Hwnd к моему оконному генделю, и это не сработало, ни WM_COPY, ни WM_CUT не вызвали. И я попробовал все.

Так, каков наилучший способ определить, были ли файлы скопированы или вырезаны? И некоторые примеры кода или ссылки действительно очень помогли бы.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 05 января 2012

Работа от https://stackoverflow.com/a/2078081/939213 в обратном направлении.а для копирования - заменить 5 на 2.

1 голос
/ 05 января 2012

Вы не сможете установить крючок.Я знаю из опыта.Windows позволяет подключать только левый и правый клики из .NET.Вам нужно будет создать DLL-библиотеку win32, а затем вызвать ее в своем коде .NET, чтобы перехватить хуки, если вам нужен такой подход.в любом случае в C или C ++.

Если это всего лишь небольшая функция в вашем приложении, а не в самом приложении, вам нужно будет либо найти какой-то способ выполнить внедрение и передать его в ваше приложение .NET, либопридется найти способ, который не включает в себя крючки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...