Given the sample you've posted in the comments I'm going to assume that you're using VB.Net and not C++ or VB.
Firstly FileCopy should work - you haven't given us a hint of why it doesn't.
Again I'm going to assume that you wanted the copy file to be hidden as well, so
System.IO.File.Copy(source, dest, True)
This will copy the file, overwrite it if it already exists and also copies the file properties, so the new file is also hidden.