Обработка Windows Explorer с помощью idataObjects на буфере обмена багги?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Обработка Windows Explorer с помощью idataObjects на буфере обмена багги?

Сообщение Anonymous »

Документация по удалению на состояниях вставки: < /p>

Если цель не выполняет оптимизированный ход, он вызывает метод
idataobject :: setdata с помощью формата cfstr_performeddropeffect
set to dropeffect_move. Когда вставка завершена, целевой вызывает
метод idataObject :: setData с помощью формата CFSTR_PASTESUCEDED
SET на Dropeffect_move. Когда метод исходного исходного исходного исходного исходного: Если оба формата отправляются целью,
, источник должен будет удалить данные. Если получен только
cfstr_pastesucucteded, источник может просто удалить
данные с его отображения. Если перенос не сбои, источник обновляет
Display на его исходный внешний вид. Но когда я делаю этот исследователь навсегда удаляет файл . Фактически, если я вообще установил cfstr_pastesucupeded (для dropeffect_move или dropeffect_none ), Explorer удаляет файл. Если я только установил cfstr_performeddropeffect на dropeffect_none , файл не удаляется, но он остается серым в Explorer. (Я на самом деле не перемещал файл в этих тестах, но это не должно влиять на то, как ведет себя исследователь). < /P>
Для противоположного случая, когда я источник, и проводник является целью, этот документ гласит: < /p>

Оболочка использует оптимизированные движения для объектов файловых систем, когда
. В этом случае оболочка обычно устанавливает значение
cfstr_performeddropeffect для dropeffect_none, чтобы указать объекту данных
, что исходные данные были удалены. Реализация объекта данных просто завершает idataObject из shcreatedataobject и пересылает каждый вызов. Единственный вызов, который я получаю при нажатии Ctrl+V в Explorer, - это один iunknown :: release , но файл успешно перемещается. А во втором, как я могу быть уведомлен, когда на самом деле происходит ход?

Подробнее здесь: https://stackoverflow.com/questions/797 ... oard-buggy
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»