public void CutSelectedFiles() {
foreach (var index in this._SelectedIndexes) {
var item = new LVITEM() { mask = LVIF.LVIF_STATE, stateMask = LVIS.LVIS_CUT, state = LVIS.LVIS_CUT };
User32.SendMessage(this.LVHandle, MSG.LVM_SETITEMSTATE, index, ref item);
}
this._CuttedIndexes.AddRange(this._SelectedIndexes.ToArray());
var ddataObject = new F.DataObject();
// Copy or Cut operation (5 = copy; 2 = cut)
ddataObject.SetData("Preferred DropEffect", true, new MemoryStream(new Byte[] { 2, 0, 0, 0 }));
ddataObject.SetData("Shell IDList Array", true, this.SelectedItems.ToArray().CreateShellIDList());
F.Clipboard.SetDataObject(ddataObject, true);
}