You can declare NtOpenProcess with original arguments and then DllImport("kernel32.dll") just before its declaration (you can use this method just about any dll/procedure combination).
Just like this:
[DllImport("kernel32.dll")]
internal static extern int NtOpenProcess(IntPtr32 arguments...);
Here's an explanation on MSDN.
Update: Actually what you want to do is doable from C#, but with the help of C++. If you want to intercept API calls from other programs, an easier way is to write the API intercepting code in C++ (using native windows functionality) and then DllImport
-ing your C++ DLL into your C# application, doing only function calls from C# code.