NeroGetCDRWErasingTime should tell you how long the actual erase operation will take. If you want to the user to be aware of the erasing progress, you will need to start a different thread before calling NeroEraseDisc. In this other thread, notify the user of the progress (e.g. by advancing the progress bar control each second). You can set the maximum of the progress bar to the estimate in seconds obtained from NeroGetCDRWErasingTime.