2014-01-18 6 views
0

Я пытаюсь получить PID процесса, который я начал с моего приложения.Получить pid запущенного процесса C++

DWORD dwPid = GetProcessId(pi.hProcess); 

Где-то на этом форуме это решение, но я не имею Func «GetProcessId»

Для запуска процесса я использую:

BOOL bSuccess = FALSE; 
LPTSTR pszCmd = NULL; 
PROCESS_INFORMATION pi;// = {0}; 
STARTUPINFO si = {0}; 
si.cb = sizeof(si); 

pszCmd = ""; /* assign something useful */ 
bSuccess = CreateProcess("D:\\program\\program.exe",NULL, NULL, NULL, TRUE, 0, NULL, "D:\\program", &si, &pi); 
if (bSuccess) 
{ 

} 
  1. Можно запустить свой код в этой запущенной программе без dll?

ответ

1

Согласно the documentation on PROCESS_INFORMATION, вы можете получить доступ к идентификатор процесса непосредственно из PROCESS_INFORMATION структуры путем доступа к dwProcessId члена:

DWORD dwPid = pi.dwProcessId; 
+0

ооо спасибо, р Не могли бы вы сказать мне, что называется способ получить все arg в другой программе? То же самое в ollydbg, я делаю функции точки останова arg – user2652995

+0

Я не знаю ответов на эти дополнительные вопросы - почему бы не отправить их как отдельные вопросы в StackOverflow? Кроме того, если эта проблема устранена, убедитесь, что вы [принимаете ответ] (http://meta.stackexchange.com/a/5235). – user4815162342

Смежные вопросы