Is it possible to write a c++ program that will do the following for a given windows process:
1) pause an application
2) copy the memory of that application to t
No, is not possible. Some of the values in the process image are kernel handles. These will not have a corresponding kernel structure when you restore the image. If you don't believe me, you should believe Raymond Chen: Why can't the system hibernate just one process?
What it is possible is to create a dump, see How to create a user-mode process dump file in Windows Vista and in Windows 7, .dump or MiniDumpWriteDump. Developers had been successfully used dumps for debugging for many years now...