2014-01-18 120 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成員訪問的進程ID:

DWORD dwPid = pi.dwProcessId; 
+0

喔感謝,P 你能告訴我什麼叫做把所有的方式其他程序中的arg函數? 同樣在ollydbg中,我讓斷點獲取函數arg – user2652995

+0

我不知道這些附加問題的答案 - 爲什麼不把它們作爲單獨的問題提交給StackOverflow?此外,如果此問題得到解決,請確保[接受答案](http://meta.stackexchange.com/a/5235)。 – user4815162342