либо GetFullPathName тормозит, либо я :)
Hello comp,
GetFullPathName упорно возвращает имя приложения, из которого оно запускается.
А мне
нужен список приложений, который перечисляется с пом. структуры PROCESSENTRY32.
Код
выглядит следующим образом
PROCESSENTRY32 proc;
proc.dwSize=sizeof(PROCESSENTRY32);
CString str, str2;
if (Process32First(hSnap, &proc))
{
if (proc.th32ProcessID==pid){
GetFullPathName(proc.szExeFile, 512, str.GetBuffer(512),
0);
CloseHandle(hSnap);
return str;
}
//m_List1.AddString(proc.szExeFile);
while (Process32Next(hSnap, &proc))
{
if (proc.th32ProcessID==pid){
GetFullPathName(proc.szExeFile, 512, str.GetBuffer(512),
0);
CloseHandle(hSnap);
return str;
}
//m_List1.AddString(proc.szExeFile);
}
}
str должен принять полное имя приложения
Здравствуйте !
А чему, кстати, pid равен ?
Тут, похоже, просто то что первым попадается, то и возвращается.
Первым попадается твой процесс.
Просто закомментируй CloseHandle(hSnap); и return str в своем примере,
и посмотри под отладчиком что будет.
Кстати, после GetBuffer, надо делать ReleaseBuffer.
А пример перечисления процессов, модулей, и.т.д. можно найти тут:
http://msdn.microsoft.com/library/en-us/perfmon/base/taking_a_snapshot_and_v
iewing_processes.asp