The same can also be done in a simplier way:
TJamFileOperation.Copy('C:\Windows\explorer.exe', 'D:');
In this case the operation is also performed on a background thread where the dialog is not modal.