Там есть ответ на ваш вопрос http://www.codeproject.com/KB/threads/ParentPID.aspx
Короче говоря, вы создаете моментальный снимок всех процессов, запущенных с lpfCreateToolhelp32Snapshot()
, а затем выполняете итерацию по нему, чтобы найти ваш процесс (обозначенный GetCurrentProcessId()
) с помощью lpfProcess32First()/lpfProcess32Next()
. Как только вы нашли свой собственный процесс, структура, которую вы получаете, дает вам идентификатор родительского процесса, который запустил ваше приложение.
Как только вы получите родительский PID, легко получить имя файла exe и другие атрибуты с помощью EnumProcessModules()
и GetModuleFileNameEx()
.
Но вы, вероятно, можете просто использовать код по ссылке.