Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.95
Voland-666
2 / 2 / 0
Регистрация: 02.05.2009
Сообщений: 63
#1

Получить имя процесса. - C++

28.10.2009, 12:30. Просмотров 3138. Ответов 6
Метки нет (Все метки)

Помогите разобраться с GetProcessName(). в MSDN нашел, но ничего не понял .... объясните, пожалуйста, где объявлена, что надо подключить и тд.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2009, 12:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Получить имя процесса. (C++):

Получить имя или pid родительского процесса - C++
Имеется имя файла И pid процесса. Нужно узнать имя файла ИЛИ pid его родителя Добавлено через 3 минуты Если такой возможности нет,...

Как узнать имя запущенного процесса - C++
Как узнать имя запущенного процесса и записать его имя в строку (LPWSTR)?

Как узнать Handle или PID процесса, зная его имя и класс? - C++
Как узнать Handle или PID процесса, зная его имя и класс?

Дана строка вида «Фамилия Имя Отчество». Получить строку вида Имя Отчество - C++
Дана строка вида «Фамилия Имя Отчество». Получить строку вида Имя Отчество

Получить список модулей указанного процесса - C++
Доброго времени суток. Возникла проблема с получением списка модулей процесса. Пытаюсь получить так: BOOL ListProcessModules(DWORD...

Как получить код завершения процесса - C++
Привет форумчане. Подскажите если кто знает. Запускаю через CreateProcess монтирование образа при помощи TrueCrypt. Если скажем...

6
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,197
Завершенные тесты: 1
28.10.2009, 13:52 #2
GetProcessName в MSDN - это вряд ли то, что надо. Если получить путь к своему процессу, то это GetModuleFileName.
0
Voland-666
2 / 2 / 0
Регистрация: 02.05.2009
Сообщений: 63
28.10.2009, 14:04  [ТС] #3
необходимо получить название процесса по его ID.
0
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,493
28.10.2009, 14:32 #4
Это просто. Вот прога, переделывай сам.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h> 
#include <Windows.h> 
#include <Winnt.h> 
//Здесь определена структура PROCESSENTRY32 и функция CreateToolhelp32Snapshot
#include <tlhelp32.h>
//int main ();
HANDLE functsia ()  {
 
 HANDLE hProcessSnap;
 PROCESSENTRY32 pe32;
 
 //Это мы находим дескриптор снимка процессов
 hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
 if (hProcessSnap == INVALID_HANDLE_VALUE)
 return false;
 pe32.dwSize = sizeof(PROCESSENTRY32);
 
 
//эТО ЕСЛИ В ФАЙЛ захочется вывод перенаправить...
// FILE *f;
// f = fopen("rezultat.cc","wb");
 
 
 while (Process32Next(hProcessSnap, &pe32)) {
  printf ("pe32.dwSize= %x\n", pe32.dwSize);
  printf ("pe32.cntUsage= %x\n", pe32.cntUsage);
  printf ("pe32.th32ProcessID= %x\n", pe32.th32ProcessID);
  printf ("pe32.th32DefaultHeapID= %x\n", pe32.th32DefaultHeapID);
  printf ("pe32.th32ModuleID= %x\n", pe32.th32ModuleID);
  printf ("pe32.cntThreads= %x\n", pe32.cntThreads);
  printf ("pe32.th32ParentProcessID= %x\n", pe32.th32ParentProcessID);
  printf ("pe32.pcPriClassBase= %x\n", pe32.pcPriClassBase);
  printf ("pe32.dwFlags= %x\n", pe32.dwFlags);
  printf ("pe32.szExeFile= %s\n\n", pe32.szExeFile);
} 
 
 
 //fclose (f);
 CloseHandle(hProcessSnap);
 
 
}
 int main () {
  functsia ();
  getchar ();
  return 0;
 }
Она выведет таблицы для всех процессов в системе.
Тебе вся таблица не нужна.
Тебе нужно поле th32ProcessID и szExeFile

PID вводи вручную.
Потом делай цикл и при каждом цикле сравнивай PID и поле szExeFile
Как только они равны станут, значит, поле szExeFile искомое.
Выводи его, это и будет имя нужного процесса
2
Voland-666
2 / 2 / 0
Регистрация: 02.05.2009
Сообщений: 63
28.10.2009, 14:36  [ТС] #5
спасибо конечно, но есть одна маленькая проблемка, надо это сделать через GetProcessName()
препод по лабораторке задал=(
0
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,493
28.10.2009, 14:43 #6
Вот здесь сказано, какие вопросы неправильны.
Твой вариант это второй.

Ты мог бы, по крайней мере, в первом посте всё сформулировать и указать именно на требование препода.
А так, блин, время только на тебя тратишь...
0
Voland-666
2 / 2 / 0
Регистрация: 02.05.2009
Сообщений: 63
28.10.2009, 14:47  [ТС] #7
извините, в следующий раз учту
0
28.10.2009, 14:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2009, 14:47
Привет! Вот еще темы с ответами:

Получить имя обьекта из enum - C++
у меня есть клас SoundDevice в нем 2 указателя на объекты player и recorder. class SoundDevice{ Player *player; Recorder...

Как получить имя нажатой клавиши - C++
Может кто занет, есть ли какая-нибудь функция которая возвращает по коду нажатой клавиши ее название? Например, была нажат ESC - мы...

Как можно получить имя исполняемого модуля проги? - C++
Как можно получить имя исполняемого модуля проги? Заранее спасибо.

Как получить имя файла при перетаскивании на программу? - C++
Ну т.е. у меня консольное приложение, и нужно работать с файлом.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru