Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 10
1

Вывод имени процесса

02.04.2018, 15:31. Просмотров 1261. Ответов 8
Метки нет (Все метки)


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
48
49
#include <iostream>
#include <windows.h>
#include <string>
#include <ctime>
#include <Tlhelp32.h>
#include <iomanip>
using namespace std;
 
DWORD find_pid(char * nameProcess)
{
    HANDLE pHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32 ProcessEntry;
    DWORD pid;
    ProcessEntry.dwSize = sizeof(ProcessEntry);
    bool Loop = Process32First(pHandle, &ProcessEntry);
 
    while (Loop)
    {
                    if (stricmp(ProcessEntry.szExeFile, "calc.exe" ) == 0)
                   printf("%s (Pid = %d)\n", ProcessEntry.szExeFile);
                
        {
            pid = ProcessEntry.th32ProcessID;
            CloseHandle(pHandle);
            return pid;
        }
 
        Loop = Process32Next(pHandle, &ProcessEntry);
    }
    return 0;
}
 
 
int main()
{
 
 
    DWORD pid;                                          
    pid = find_pid("calc.exe");
    SetConsoleCP(1251); 
    SetConsoleOutputCP(1251); 
    for (;; Sleep(50))
    {
        if (pid == 0)
            cout << pid <<"\n"<<"Процесс не запущен"<<"\n";
        if (pid != 0) 
            cout << pid <<"\n"<< "Процесс запущен"<<"\n";
        break;
    }



Все компилится все супер ,но как вывести и имя процесса вместе с PID ? PID выводит все супер ,но без имени.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2018, 15:31
Ответы с готовыми решениями:

Как узнать id процесса по имени процесса?
Как узнать id процесса по имени процесса? Например ищем notepad.exe и возвращается id этого...

Завершение процесса по имени
есть только имя процесса, какие функции понадобятся чтоб его завершить? Добавлено через 9 минут...

Получить идентификатор процесса по имени окна
Нужно получить PID именно процесса(не потока) по заданному имени окна(того, что отображается в...

Вывод имени последнего запущенного процесса
Добрый день, такое дело. Выдали такое задание на Bash: &quot;Если количество запущенных процессов...

8
470 / 422 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
02.04.2018, 15:39 2
Цитата Сообщение от АлександЕР21 Посмотреть сообщение
PID выводит все супер ,но без имени.
Так если ты подаешь имя в функцию, возьми и выведи это имя сам...
Сунь его в какую-нибудь переменную, подставляй в метод получения PID и выводи ее вместе с PIDом
0
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 10
02.04.2018, 16:03  [ТС] 3
Добавлено через 26 секунд
SuperKir, А можно пример пжлст.
0
470 / 422 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
02.04.2018, 16:21 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    DWORD pid;   
    string proccName;
    cout << "Enter procces name: ";
    getline(cin, proccName);                                   
    pid = find_pid(proccName);
    SetConsoleCP(1251); 
    SetConsoleOutputCP(1251); 
    for (;; Sleep(50))
    {
        if (pid == 0)
            cout <<"Процесс " << proccName << " не запущен\n";
        if (pid != 0) 
            cout <<"Процесс " << proccName << " запущен с PID = " << pid << "\n";
        break;
    }
0
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 10
02.04.2018, 16:38  [ТС] 5
SuperKir,

Я понял ,что ты имеешь виду теперь. Открываешь консоль вводишь имя процесса он тебе потом выводит и PID и имя
Я так делал . А вот без ввода через консоль, имени процесса можно как то получить и имя и PID??
Или я глупости какие то говорю?
0
470 / 422 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
02.04.2018, 16:45 6
Цитата Сообщение от АлександЕР21 Посмотреть сообщение
А вот без ввода через консоль, имени процесса можно как то получить и имя и PID??
Тогда конкретизируй, имя и PID какого процесса ты хочешь получить?
0
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 10
02.04.2018, 17:21  [ТС] 7
SuperKir, Да того же самого calc.exe . Как в коде выше

Добавлено через 3 минуты
Я добивался ,чтобы он мне выводил имя и Pid процесса ,но только это была одна программа целая,меня так не устраивает .Хочу сделать так как в примере выше где разделена программа и сама функция .
0
470 / 422 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
02.04.2018, 17:24 8
АлександЕР21, так ты функции подаешь это имя... Обозначь его[имя] как константа и суй в функцию и в вывод.
Ну или перепиши функцию так, чтобы она выводила сама и пид и имя, или возвращала какую-то структуру с этими параметрами.
0
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 10
03.04.2018, 10:53  [ТС] 9
SuperKir, Дай пример пжлст.

Добавлено через 7 минут
Мы наверное обо одном и том же говорим.
Если эту функцию запилить сразу через
int main и прописал в функции это:

C++
1
2
                    if (stricmp(ProcessEntry.szExeFile, "calc.exe" ) == 0)
                   printf("%s (Pid = %d)\n", ProcessEntry.szExeFile, ProcessEntry.th32ProcessID);
То он все сделает как надо и Имя и его Pid будет выведено в консоли.

Добавлено через 1 минуту
А так если не затруднит дай пример, пример наглядней будет .!

Добавлено через 7 минут
Насчёт имени делал так if (stricmp(ProcessEntry.szExeFile, "calc.exe)==0)
За место calc.exe ставил processName и давал ее на вывод и Хренос два там .Если ты про это говоришь конечно

Добавлено через 16 часов 53 минуты
SuperKir, Спасибо за наводку все получилось. Это я что то уже слишком глубоко полез, оказалось все намного проще. Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2018, 10:53

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Реализация поиска нужного имени в файле и вывод данных, относящихся к этому имени
Доброго времени суток всем! Прошу помощи у более компитентных людей нежели я. Полное задание...

Вывод на экран имени переменной(имени файла, и тд.)
Здрасти. Недалече столкнулся с проблемой: надо сравнить два файла по признаку количества...

Поиск процесса по имени
Здравствуйте, помогите пожалуйста перевести с Lua код поиск процесса по имени, на язык...

Поиск процесса по имени
Такой вопрос: я ввожу с клавиатуры имя процесса и можно ли проверить, запущен ли процесс с таким...


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

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

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