Сложно представить, почему такая функция существует или какая она будет полезной, если она будет.
Для удобства пользователя предусмотрены функции вырезания / копирования и вставки.Это позволяет им перемещать / копировать что-то еще в более позднее время.Приложение, которое реализует функции вырезания / копирования и вставки, может не знать, куда в конечном итоге будут вставлены данные, но это нормально, потому что пользователь все еще знает.
Но приложение выполнение действия вырезания / копирования-вставки не имеет большого смысла, потому что для того, чтобы часть «вставка» работала, приложение должно знать, куда будет вставлен элемент,И если он знает это, то может просто вызвать функцию SHFileOperation
, о которой вы уже знаете.
Если вы на самом деле просто говорите о том, чтобы предоставить пользователю возможность вырезать / копировать / вставлять элемент, тогда вы захотите использовать буфер обмена - так же, как это делает Windows.Когда элемент вырезан или скопирован, он помещается в буфер обмена.Когда элемент вставлен, текущее содержимое буфера обмена извлекается.Для взаимодействия с буфером обмена используйте функции API буфера обмена Windows .