GetCurrentProcess, then QueryFullProcessImageName
Other answers are better for your own process - this is preferred for remote ones. Per the docs:
To retrieve the module name of the
current process, use the
GetModuleFileName function with a NULL
module handle. This is more efficient
than calling the
GetProcessImageFileName function with
a handle to the current process.
To retrieve the name of the main
executable module for a remote process
in win32 path format, use the
QueryFullProcessImageName function.