C++ Процессы и Потоки Windows

  Рет қаралды 12,143

Ambushed Raccoon

Ambushed Raccoon

5 жыл бұрын

Научимся выводить с помощью C++ список активных процессов операционной системы Windows и их дочерних потоков.
Диспетчер задач Windows позволяет просмотреть список текущих процессов. Однако потоки данных процессов он не показывает.
Полезные ссылки:
CreateToolhelp32Snapshot(): docs.microsoft.com/en-us/wind...
Process and Thread Functions: docs.microsoft.com/en-us/wind...
Twitch: / ambushedraccoontv
Telegram: t.me/AmbushedRaccoon

Пікірлер: 37
@user-js6rq5rx6w
@user-js6rq5rx6w 3 жыл бұрын
Посмотрел пока только 4 минуты, уже под впечатлением, ты объясняешь не только, что пишешь, но и что может пойти не так, эти комментарии по коду дорого стоят, thanks!
@ambushedraccoon6408
@ambushedraccoon6408 3 жыл бұрын
Большое спасибо)
@user-rx2jr2mm1i
@user-rx2jr2mm1i 4 жыл бұрын
Почти ничего не понял, но очень интересно.
@itskkksweet5171
@itskkksweet5171 Ай бұрын
изучите структуры, классы и функции Win API. чтобы понять, нужны базовые знания программирования.
@user-ru5tu8hm1v
@user-ru5tu8hm1v 3 жыл бұрын
Офигительно, просто и доходчиво, брат давай еще
@ambushedraccoon6408
@ambushedraccoon6408 3 жыл бұрын
Спасибо) Будем стараться.
@neirno
@neirno 4 жыл бұрын
Спасибо=)
@artlinestudio6735
@artlinestudio6735 2 жыл бұрын
Все очень круто! Лайк и Подписка! Только столкнулся с проблемой, функция CreateToolhelp32Snapshot о которой написано, что она получает снимок ВСЕХ процессов в системе, оказывается получает снимок ни всех процессов? Почему то, при выводе полученных результатов, огромное количество процессов отсутствует. Я полагаю, что возможно она не имеет прав для получения или проблема в другом. Может вы знаете в чем?
@ambushedraccoon6408
@ambushedraccoon6408 2 жыл бұрын
В документации написано список всех процессов. Стоит попробовать запустить от администратора наверное.
@ambushedraccoon6408
@ambushedraccoon6408 2 жыл бұрын
Удобнее всего вижлу запустить. Из-под админа. И отлаживаемые процессы тоже будут так запускаться.
@artlinestudio6735
@artlinestudio6735 2 жыл бұрын
@@ambushedraccoon6408 Пытался. От админа получает на 1 процесс больше. Некоторые спецы, дали совет, что приложение должно получить права System. Как это сделать, найти не смог. Но все они утверждаю, что прав админа не достаточно. Особенно в Виндовс10. Нужно именно с правами системы. Подскажите пожалуйста, как можно получить права системного процесса! Интересно, как все таки получают информацию о процесса[ Kill Switch, Process Hacker ну и в конце концов любой антивирус.
@ambushedraccoon6408
@ambushedraccoon6408 2 жыл бұрын
Довольно сложный вопрос. попробую найти.
@helloworld-fv8kx
@helloworld-fv8kx 2 жыл бұрын
тоже ничего не понял как и "Техник Ральф", но было очень интересно
@Derk987
@Derk987 2 жыл бұрын
Не подскажите где искать инфу по WinApi? На ютюбе ее мало как-то)
@ambushedraccoon6408
@ambushedraccoon6408 2 жыл бұрын
Документация майкрософта. и книга Windows для профессионалов - Рихтер Джеффри. Удачи.
@zavarshik1737
@zavarshik1737 5 жыл бұрын
@Bguiysigziggzog
@Bguiysigziggzog 4 жыл бұрын
Эм, вообще то провекра идет с кодом ошибки INVALID_VALUE_HANDLE, ну не как провекой на NULL
@ambushedraccoon6408
@ambushedraccoon6408 4 жыл бұрын
Вы были бы правы, если бы речь шла о функциях WinAPI для работы с файлами. В данной ситуации функция CreateToolhelp32Snapshot в случае неудачной попытки выполнения возвращает NULL(0). Здесь сравнение с INVALID_HANDLE_VALUE(-1) давало бы неверный результат, т.к. при значении 0 дескриптор всё равно считался бы верным. Соглашусь, для более общего решения не помешало бы добавить проверку и на -1, однако в текущем контексте проверка выполняется правильно.
@Bguiysigziggzog
@Bguiysigziggzog 4 жыл бұрын
@@ambushedraccoon6408 окей, спасибо за ответ
@user-ln2ft2mo3c
@user-ln2ft2mo3c Жыл бұрын
@Ambushed Raccoon Это виде оно какую пользу несет - какая смысловая нагрузка?! Я понял это так - ты прочел примеры из МСДН и просто скопировал их сдобрив немного STL . Хочу сказать это каждому под силу. По сути ты не внес ничего. Ну напиши код который выводит к каждому процессу имя аккаунта - память - время жизни, принадлежность к секюрной группе, для каждого потока - афинити, приоритет, память состояния ввода вывода. Командную строку, принадлежность к терминальной группе. Ну - че скажешь! - Напиши - всем польза будет - и тебе в карму. Покажи нам фокусы как из 32 битного процесса запустить 64 битную оболочку и обратно. Как сделать такой процесс который после завершения прибивает файл из которого он был запущен (в винде) . Ну - давай - а то банальности писать - каждый мастер - ты нам покажи настоящее мастерство
@darwinit
@darwinit 3 жыл бұрын
Что такое ~ Например как у тебя: SmartHandle() после уже идет ~SmartHandle
@ambushedraccoon6408
@ambushedraccoon6408 3 жыл бұрын
~ или тильда используется для объявления деструктора. Это метод, который будет вызываться на этапе уничтожения объекта. А SmartHandle() - конструктор, метод, который вызывается на этапе создания.
@dark_evil77
@dark_evil77 3 жыл бұрын
А где исходники? Ты хоть будь добр и выложи исходники в на гитхаб
@ambushedraccoon6408
@ambushedraccoon6408 3 жыл бұрын
Да, стоит это сделать. Сейчас просто очень большая запара в Минске по всем фронтам. Очень постараюсь в ближайшее время добавить.
@dark_evil77
@dark_evil77 3 жыл бұрын
Ambushed Raccoon лучше создай группу в телеграме!
@ambushedraccoon6408
@ambushedraccoon6408 3 жыл бұрын
@@dark_evil77 есть такая t.me/AmbushedRaccoon
@dark_evil77
@dark_evil77 3 жыл бұрын
Ambushed Raccoon это же канал, давай группу, я сам пишу на плюсах! Нужна помощь
@ambushedraccoon6408
@ambushedraccoon6408 3 жыл бұрын
@@dark_evil77 Я правильно понимаю, что группа. это когда на канале добавляют группу для обсуждений?
@user-zm5yq7hl4g
@user-zm5yq7hl4g Жыл бұрын
У меня Ничего не вывелось.......
@ambushedraccoon6408
@ambushedraccoon6408 Жыл бұрын
Visual studio запустили под администратором?
@user-bd3ij4op5k
@user-bd3ij4op5k 3 жыл бұрын
Мдэ к концу видео запутался, ты б объяснял чтоли .......на шарпе это вся мутатень занимает 5-6 строк отсилы
@ambushedraccoon6408
@ambushedraccoon6408 3 жыл бұрын
Да вроде старался поподробнее( Ну не 5-6, а ещё меньше. По большому счету 3 команды. ну и дело тут не в C#, а в функционале, который предоставляет .Net как платформа. Здесь же я использую WinAPI, который никогда не был удобным в угоду экономии памяти.
@skynowa2626
@skynowa2626 Жыл бұрын
Не кроссплатформенно
@ambushedraccoon6408
@ambushedraccoon6408 Жыл бұрын
Конечно, для Windows же.
[Unity3D] Делаем Recall как у Tracer в Overwatch(Time Rewind)
17:54
Собеседование Middle C++
58:19
Ambushed Raccoon
Рет қаралды 137 М.
WHY DOES SHE HAVE A REWARD? #youtubecreatorawards
00:41
Levsob
Рет қаралды 29 МЛН
когда достали одноклассники!
00:49
БРУНО
Рет қаралды 1,4 МЛН
Miracle Doctor Saves Blind Girl ❤️
00:59
Alan Chikin Chow
Рет қаралды 27 МЛН
You don't need libraries to write a game engine in C++ | OpenGL | Devlog
2:50
Потоки. Коротко
5:00
MZPE
Рет қаралды 35 М.
Указатели и Ссылки C++
7:49
Ambushed Raccoon
Рет қаралды 24 М.