Чтобы ответить на мой собственный вопрос, я наконец нашел решение CodeProject, которое делает именно то, что я ищу:
http://www.codeproject.com/KB/threads/GetNtProcessInfo.aspx
Как уже указывал @Reuben, вы можете использовать NtQueryProcessInformation для получения этой информации. К сожалению, это не рекомендуемый подход, но, учитывая, что единственное другое решение, похоже, связано с накладными расходами запроса WMI, я думаю, что сейчас мы воспользуемся этим подходом.
Обратите внимание, что это, похоже, не работает, если использовать код, скомпилированный из 32-битной Windows, в 64-битной ОС Windows, но так как наши модули скомпилированы из исходного кода на целевой системе, это должно быть в порядке для наших целей. Я предпочел бы использовать этот существующий код, и если он выйдет из строя в Windows 7 или более поздней версии, мы можем еще раз взглянуть на использование WMI. Спасибо за ответы!
ОБНОВЛЕНИЕ : более краткая и только C (в отличие от C ++) версия того же метода показана здесь:
http://wj32.wordpress.com/2009/01/24/howto-get-the-command-line-of-processes/