Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/42: Рейтинг темы: голосов - 42, средняя оценка - 5.00
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033

Найти HANDLE по названию процесса

19.06.2012, 18:57. Показов 9061. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
господа есть апишная функция для этого , просто мне надо , что то типо такого
C++
1
HEANDLE hd = [COLOR="Red"]FindHeandle[/COLOR]("qwer.exe");
Буду примного благодарен хотя бы за название!!!

Добавлено через 1 минуту
HEANDLE hd = /*примерное название функции*/FindHeandle (qwer.exe");
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.06.2012, 18:57
Ответы с готовыми решениями:

Не выходит получить handle процесса
Дебаг привилегии мое приложение получает(проверял в отладчике функции возвращают true), но вот как только пробую получить уже хендл нужного...

Не могу получить handle процесса
Решил написать инжектор по какому-то гайду. Смотрел другие гайды, все равно не работает. Нужен HANDLE процесса, но почему-то не могу его...

Получить имя процесса по его handle
Всем привет, ищу статью по получению имени из хендла процесса. Кому не трудно, киньте пример или подскажите алгоритм получения имени....

17
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
19.06.2012, 19:40
Хендл чего ищешь?
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
19.06.2012, 22:37  [ТС]
да всё равно чего , есть название хендла , храниться в символьном массиве , название изменяется и массив аналогично , нужно получить хендл .
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
20.06.2012, 01:03
Цитата Сообщение от Игорь с++ Посмотреть сообщение
да всё равно чего
Какой вопрос - такой будет и ответ. Раз все равно "хендл чего" получать - то вот тебе названия функций, чтобы получить хендл процесса по его названию: CreateToolhelp32Snapshot + цикл с использованием Process32First/Process32Next, пока не найдешь у очередного процесса заданное значение в поле szExeFile. Пример работы с процессами с помощью этих функций есть в MSDN: Taking a Snapshot and Viewing Processes
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
20.06.2012, 09:26  [ТС]
список процессов я получаю , затем перегоняю их в ListBox , а вот дальше ступор , ну выбрал пользователь определённый процесс , ну получил я название из ListBox , а дальше с этим процессом работать не могу т.к. не могу найти HEANDLE по названию процесса !!!
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
20.06.2012, 11:39
А я тебя уже спрашивал: ты сначала определись, ЧЕГО ты хочешь найти? Хендлы - они разные бывают. Есть у окна, есть у процесса, мало ли что еще... Вот когда ты решишь, что тебе надо - продолжим разговор. Сейчас - это просто сотрясание воздуха. Нельзя найти что-то, не зная, что именно ты хочешь найти.

Как ищется process handle по имени - я дал ссылку. Если лень прочитать в MSDN - могу здесь показать:
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
#include <windows.h>
#include <tlhelp32.h>
#include <iostream>
 
int main()
{
    PROCESSENTRY32 entry;
    entry.dwSize = sizeof(PROCESSENTRY32);
 
    HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
 
    if (Process32First(snapshot, &entry) == TRUE)
    {
        while (Process32Next(snapshot, &entry) == TRUE)
        {
            if (stricmp(entry.szExeFile, "firefox.exe") == 0)
            {
                std::cout << "process handle = " << entry.th32ProcessID << std::endl;
                // Нужно работать с процессом - OpenProcess и вперед...
            }
        }
    }
 
    CloseHandle(snapshot);
    return 0;
}
Что не так?
Миниатюры
Найти HANDLE по названию процесса  
4
20.06.2012, 15:22

Не по теме:

Какой-то мистический этот HEANDLE.

0
20.06.2012, 15:55

Не по теме:

Игорь с++, по памяти помню, ты освоил OpenProcess. Функции FindHeandle как таковой, я не знаю и думаю, что её нет в природе. Всё ищешь пути открытия процессов с внутренней защитой..?Не открыть тебе их детскими способами:pardon:

0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
20.06.2012, 17:48  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Не открыть тебе их детскими способами
Спасибо за много часовыми посиделками за компом я это уже понял , рою дальше .Кое,что уже выплывает(если долго мучится , что нибудь получится).
А если по теме то я уже разобрался оказалось как всегда всё намного проще чем оно есть на самом деле!!!
В программе в один прекрасный момент (не важно в какой) получаем список процессов -
C++
1
2
3
4
5
6
7
8
9
10
11
12
hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
        Process32First(hSnap, &proc);
proces2++;
            while (Process32Next(hSnap, &proc)){ 
 
 
SendMessage(hListBox,LB_ADDSTRING,0,(LPARAM)proc.szExeFile);
 
        proces2++;
        itoa(proces2,proces,10);
 
        }
далее когда нам понадобится информация (а в частности пид и хендл) о процессе делается очень и очень легко -
C++
1
2
3
4
5
6
7
8
9
10
11
Process32First(hSnap, &proc);
 
while(Process32Next(hSnap, &proc)){
 
           if(strcmp(name,proc.szExeFile)==0){
 
MyProc = OpenProcess (
PROCESS_ALL_ACCESS, 
true,
proc.th32ProcessID
                    );
и вуаля получаем хендл и пид прлоцесса по его имени .
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
21.06.2012, 09:35
Цитата Сообщение от Игорь с++ Посмотреть сообщение
пасибо за много часовыми посиделками за компом я это уже понял , рою дальше .Кое,что уже выплывает(если долго мучится , что нибудь получится)
- в своё время мои посиделки были многомесячными...
Цитата Сообщение от Игорь с++ Посмотреть сообщение
MyProc = OpenProcess (
PROCESS_ALL_ACCESS,
true,
proc.th32ProcessID
* * * * * * * * * * );
- открой так kav.exe
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
21.06.2012, 17:31  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
открой так kav.exe
Так я про антивирусы и не говорил .

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
в своё время мои посиделки были многомесячными...
Так я только , что бы понять , что банальным способом как TerminateProces невзять
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
21.06.2012, 17:38
Игорь с++, банеры убираются откатом системы, не мучайся всё на много проще. Есть конечно "твари" которые лезут в C:\WINDOWS\system32\drivers\etc и портят там фалик hоsts, ну что ж в этом случае заходим в безопасном режиме в эту папку и вытираем в файле файл с подобным содержимым левые айпишники.
nm6ghf6776
46.37.191.146 www.telebank.ru
46.37.191.146 telebank.ru
46.37.191.147 www.alfabank.ru
46.37.191.147 alfabank.ru
46.37.191.147 click.alfabank.ru
46.37.191.157 sbrf.ru
46.37.191.157 www.sbrf.ru
46.37.191.157 www.esk.sbrf.ru
46.37.191.157 esk.sbrf.ru
46.37.191.147 www.click.alfabank.ru
ing host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host

127.0.0.1 localhost
Это знамая мной проблемма

Добавлено через 50 секунд
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
nm6ghf6776
46.37.191.146 www.telebank.ru
46.37.191.146 telebank.ru
46.37.191.147 www.alfabank.ru
46.37.191.147 alfabank.ru
46.37.191.147 click.alfabank.ru
46.37.191.157 sbrf.ru
46.37.191.157 www.sbrf.ru
46.37.191.157 www.esk.sbrf.ru
46.37.191.157 esk.sbrf.ru
46.37.191.147 www.click.alfabank.ru
ing host name.
- этого не должно быть (чужеродные программы специально модернизируют файл чтобы инет конектился на вот эти айпишники
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
21.06.2012, 17:46  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Игорь с++, банеры убираются откатом системы, не мучайся всё на много проще
1) Многие убивает контрольные точки системы !!!
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
этого не должно быть (чужеродные программы специально модернизируют файл чтобы инет конектился на вот эти айпишники
2) прога бывает работает и без инета , по этому я и делаю прогу которая будет убивать этих гадов , а от сюда и эксперементы над антивирусами , если я его процесс вальну , то уж банеры улетят только впуть
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
21.06.2012, 17:53

Не по теме:

Игорь с++, "чёрт побьери" ну вот дай мне вирус с банером, котрый я не смог бы завалить с привилегией SE_DEBUG, что ты пристал к бедолагам-антивирусам:(



Добавлено через 36 секунд

Не по теме:

И вдобавок тот который валит точки восстановления, очень бы хотел и на такой поглядеть

0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
21.06.2012, 17:58  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Игорь с++, "чёрт побьери" ну вот дай мне вирус с банером, котрый я не смог бы завалить с привилегией SE_DEBUG, что ты пристал к бедолагам-антивирусам
во первых я не коллекционирую вирусы , во вторых я у вас всего лишь навсего спросил с такими привилегиями смогу ли я его вальнуть ??? И во вторых , что вам так жалко мои антивирусы ? Наверника же сами над ними издевались ?

Добавлено через 2 минуты
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
И вдобавок тот который валит точки восстановления, очень бы хотел и на такой поглядеть
Не могу вас обрадовать т.к. ели избавился от него , не до этого было , что бы его где нибудь сохранять .
0
21.06.2012, 21:09

Не по теме:

Игорь я довольно жергонно тебе написал в ЛС0 не сочти за обиду, просто поробуй воспринять всё как если бы был на моём месте, удачи тебе в поисках истины...

0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
21.06.2012, 21:56  [ТС]
Тему закрываем ! Разговор не о чём ! Ушёл разбираться дальше , удачи мне !!!!!!!
0
60 / 57 / 8
Регистрация: 22.07.2011
Сообщений: 436
25.06.2012, 00:42
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
#include <windows.h>
#include <tlhelp32.h>
 
HANDLE GetProcHandle(char *ProcName, DWORD Attr) // Attr - параметры открытия процесса
{
    HANDLE pSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32 ProcEntry;
 
    ProcEntry.dwSize = sizeof(ProcEntry);
 
    Process32First(pSnap, &ProcEntry);
 
    while(Process32Next(pSnap, &ProcEntry))
    {
        if(!strcmp(ProcEntry.szExeFile, ProcName))
        {
            CloseHandle(pSnap);
            return OpenProcess(Attr, false, ProcEntry.th32ProcessID);
        }
    }
    CloseHandle(pSnap);
    return 0;
}
 
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    HANDLE hProc = GetProcHandle("explorer.exe", PROCESS_ALL_ACCESS); // наш хэндл
        return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.06.2012, 00:42
Помогаю со студенческими работами здесь

Хэндл процесса по названию
Всем Доброго Времени Суток! Нигде не могу найти информацию по этому поводу. Я запустил программу через ShellExecute и нужно поймать хэндл...

Ошибка при открытии процесса по его Handle
Здравствуйте, столкнулся с проблемой открытия процесса, вот код: #include &lt;iostream&gt; #include &lt;windows.h&gt; #include...

Как выбрать окно, если его handle не совпадает с handle процесса?
Добрый день! Задача на первый взгляд довольно простая: выбрать окно программы, переместить его в определённую часть экрана и нажать на...

Как найти Handle окна процесса?
Здраствуйте! Вот решил розобраться какие в C# есть возможности для роботы с процессами. Научился находить pID, pName. А вот Handle окна...

Получение Handle запущенного процесса
Доброго всем дня. Уважаемые, подскажите пожалуйста, что я не так делаю, мне нужно получить хендл запущенного процесса, и... я его получаю,...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru