There is an article on CodeProject about it:
Win32 process suspend/resume tool
http://www.codeproject.com/KB/threads/pausep.aspx
The article contains the code.
The main idea is to detect all threads of the process and suspend them. Probbaly, Visual Studio debugger does the same.