Re: либо GetFullPathName тормозит, либо я :)
Здравствуйте !
> GetFullPathName упорно возвращает имя приложения, из
> которого оно запускается.
> if (Process32First(hSnap, &proc))
> {
> if (proc.th32ProcessID==pid){
> GetFullPathName(proc.szExeFile, 512,
> str.GetBuffer(512),
> 0);
> CloseHandle(hSnap);
> return str;
> }
А чему, кстати, pid равен ?
Тут, похоже, просто то что первым попадается, то и возвращается.
Первым попадается твой процесс.
> 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);
> }
> }
Просто закомментируй CloseHandle(hSnap); и return str в своем примере,
и посмотри под отладчиком что будет.
Кстати, после GetBuffer, надо делать ReleaseBuffer.
А пример перечисления процессов, модулей, и.т.д. можно найти тут:
http://msdn.microsoft.com/library/en-us/perfmon/base/taking_a_snapshot_and_v
iewing_processes.asp