IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

 
 Ответить  Открыть новую тему 
> Список процессов, C++
Tribunal
сообщение 18.12.2008 18:18
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 233
Пол: Женский
Реальное имя: Dasha

Репутация: -  0  +


Здравствуйте!
Задача такова: Список процессов :: вывести информацию об активных процессах(имя .exe,имя модуля,полный путь к программе,ID процесса, приоритет,кол-во потоков).
Проблема в том,что не выводится инф-ия о пути...
Често говоря,не могу понять,корректно ли работает прога...
Если не сложно-посмотрите..на форме компоненты мемо и кнопка + кнопка для очистки мемо
Прилагаю исходник..

Вывод информации делается так:
 if (bGotModule)
                        {
                                HANDLE hProcess;
                                hProcess = OpenProcess (PROCESS_ALL_ACCESS,
                                         FALSE, pe32.th32ProcessID);
                                dwPriorityClass = GetPriorityClass (hProcess);
                                CloseHandle (hProcess);

                                Memo1->Lines->Add("Priority "+
                                                IntToStr(pe32.pcPriClassBase));
                                Memo1->Lines->Add("PID "+
                                                IntToStr(pe32.th32ProcessID));
                                Memo1->Lines->Add("Thread_Count "+
                                                IntToStr(pe32.cntThreads));

                                char inf;
                                s="---EXE--- ";
                                for (int i=0; i<50; i++)
                                {
                                        inf=pe32.szExeFile[i];
                                        s+=inf;
                                }
                                Memo1->Lines->Add(s);

                                s="---MODULE---";
                                for (int i=0; i<50; i++)
                                {
                                        inf=me32.szModule[i];
                                        s+=inf;
                                }
                                Memo1->Lines->Add(s);

                                s="---Path---";
                                for (int i=0; i<50; i++)
                                {
                                        inf=me32.szExePath[i];
                                        s=+inf;
                                }
                                Memo1->Lines->Add(s);
                        }
else
{
         Memo1->Lines->Add("bGotModule failed PID "+IntToStr(pe32.th32ProcessID));
};



Прикрепленные файлы
Прикрепленный файл  Unit1.rar ( 1.27 килобайт ) Кол-во скачиваний: 152


--------------------
irreparabilium felix olivio rerum
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.12.2008 19:23
Сообщение #2


Гость






А зачем ты копируешь информацию посимвольно? Вот так все прекрасно отображается:
if (bGotModule) {
	HANDLE hProcess;
	hProcess = OpenProcess (PROCESS_ALL_ACCESS,
		FALSE, pe32.th32ProcessID);
	dwPriorityClass = GetPriorityClass (hProcess);
	CloseHandle (hProcess);
	
	Memo1->Lines->Add("Priority " + IntToStr((int)pe32.pcPriClassBase));
	Memo1->Lines->Add("PID " + IntToStr((int)pe32.th32ProcessID));
	Memo1->Lines->Add("Thread_Count " + IntToStr((int)pe32.cntThreads));
	s.sprintf("---EXE--- %s", pe32.szExeFile);
	Memo1->Lines->Add(s);
	
	s.sprintf("---MODULE--- %s", me32.szModule);
	Memo1->Lines->Add(s);
	
	s.sprintf("---Path--- %s", me32.szExePath);
	Memo1->Lines->Add(s);
}
(без приведения к int-у у меня наотрез отказалось компилироваться)

Сообщение отредактировано: volvo - 18.12.2008 19:24
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 30.07.2025 4:46
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"