public void RenameShellItem(IShellItem item, String newName, Boolean isAddFileExtension, String extension = "") { var handle = this.Handle; var sink = new FOperationProgressSink(this); var fo = new IIFileOperation(sink, handle, false); fo.RenameItem(item, isAddFileExtension ? newName + extension : newName); fo.PerformOperations(); if (fo.GetAnyOperationAborted()) { this._IsCanceledOperation = true; } }