As said in solution 1 and the comments:
There is no general way to know what had happened on the source side.
But there is one exception:
Delete-on-Paste Operations
These are used when cutting files (e.g. from within the Windows Explorer).
With those the source requests the target to get informed when a paste operation has been performed by adding an additional object to the clipboard data. When a target detects such requests, it knows that there was a cut operation at the source side (and that it should act acordingly).
See the section
Handling Delete-on-Paste Operations at
Handling Shell Data Transfer Scenarios (Windows)[
^] for how it works.