Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.95
Voland-666
3 / 3 / 0
Регистрация: 02.05.2009
Сообщений: 63
#1

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

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

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

Получить имя или pid родительского процесса
Имеется имя файла И pid процесса. Нужно узнать имя файла ИЛИ pid его родителя ...

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

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

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

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

Получить список модулей указанного процесса
Доброго времени суток. Возникла проблема с получением списка модулей процесса....

6
Somebody
2799 / 1610 / 251
Регистрация: 03.12.2007
Сообщений: 4,211
Завершенные тесты: 3
28.10.2009, 13:52 #2
GetProcessName в MSDN - это вряд ли то, что надо. Если получить путь к своему процессу, то это GetModuleFileName.
0
Voland-666
3 / 3 / 0
Регистрация: 02.05.2009
Сообщений: 63
28.10.2009, 14:04  [ТС] #3
необходимо получить название процесса по его ID.
0
kravam
быдлокодер
1706 / 893 / 105
Регистрация: 04.06.2008
Сообщений: 5,524
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
3 / 3 / 0
Регистрация: 02.05.2009
Сообщений: 63
28.10.2009, 14:36  [ТС] #5
спасибо конечно, но есть одна маленькая проблемка, надо это сделать через GetProcessName()
препод по лабораторке задал=(
0
kravam
быдлокодер
1706 / 893 / 105
Регистрация: 04.06.2008
Сообщений: 5,524
28.10.2009, 14:43 #6
Вот здесь сказано, какие вопросы неправильны.
Твой вариант это второй.

Ты мог бы, по крайней мере, в первом посте всё сформулировать и указать именно на требование препода.
А так, блин, время только на тебя тратишь...
0
Voland-666
3 / 3 / 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
у меня есть клас SoundDevice в нем 2 указателя на объекты player и recorder. ...

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

Как получить из 2-х текстовых значений 'b' и '1' в общее имя переменной b1?
Подскажите пожалуйста, как решить такую задачку... весь поисковик перерыл в...

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


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

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

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