After long time I found a solution for my own question. Here is the link for get file copy progress in both c# and vb.net
http://pinvoke.net/default.aspx/kernel32/CopyFileEx.html
In this sample code we can get progress of copping a file
private CopyProgressResult CopyProgressHandler(long total, long transferred, long streamSize, long StreamByteTrans, uint dwStreamNumber,CopyProgressCallbackReason reason, IntPtr hSourceFile, IntPtr hDestinationFile, IntPtr lpData)
{
Progressbar.Max=Convert.ToInt32(total);
Progressbar.Value=Convert.ToInt32(transferred);
Application.Doevents();
return CopyProgressResult.PROGRESS_CONTINUE;
}
long total gives total size and long transferred gives current progress