Если внешний вид не является проблемой, вы можете использовать Shell FolderItems (shell32.dll), единственными недостатками являются то, что его немного сложно использовать, и вы получаете диалоговое окно прогресса Windows, а не процедуру обратного вызова.