Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
1 / 1 / 1
Регистрация: 02.04.2013
Сообщений: 124

Получить имя процесса зная handle

03.01.2018, 20:30. Показов 3573. Ответов 4

Студворк — интернет-сервис помощи студентам
кому-то да понадобиться вот код :
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        [DllImport("user32.dll")]
        private static extern Int32 GetForegroundWindow();
 
        [DllImport("user32.dll")]
        private static extern UInt32 GetWindowThreadProcessId(Int32 hWnd, out Int32 lpdwProcessId);
 
void SomeMethod()
{
        IntPtr ptr = FindWindow(null, "Собственно сам handle ");
 
            Int32 handle = ptr.ToInt32();
            Int32 ProcessID;
            GetWindowThreadProcessId(handle, out ProcessID);
            Process ActiveProcess = Process.GetProcessById(ProcessID);
 
            MessageBox.Show(ActiveProcess.ProcessName);
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.01.2018, 20:30
Ответы с готовыми решениями:

Как узнать имя процесса, зная имя программы?
Здравствуйте, подскажите пожалуйста, как узнать имя процесса выполняемой программы, зная имя этой программы в c#? P.S. Если это...

Как получить информацию о другом окне, зная его Handle
Как получить информацию о другом окне если есть Хендл(расположение, заголовок, размеры и т.д.)? И чтобы не сорить в форуме еще один...

Получить Handle AppID процесса
Здравствуйте. Есть приложение на delphi, в которой устанавливается Handle, для того, что-бы можно было запустить только одну копию...

4
10 / 10 / 7
Регистрация: 27.12.2017
Сообщений: 72
04.01.2018, 02:40
А где же импорт самого FindWindow? И зачем нам GetForegroundWindow, если нигде не используем его?
0
1 / 1 / 1
Регистрация: 02.04.2013
Сообщений: 124
04.01.2018, 12:02  [ТС]
Ошибся вот норм код просто поздно уже было запарился)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[DllImport("user32.dll", SetLastError = true)]
            public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
 
 
         [DllImport("user32.dll")]
        private static extern UInt32 GetWindowThreadProcessId(Int32 hWnd, out Int32 lpdwProcessId);
 
void SomeMethod()
{
        IntPtr ptr = FindWindow(null, "Собственно сам handle ");
 
            Int32 handle = ptr.ToInt32();
            Int32 ProcessID;
            GetWindowThreadProcessId(handle, out ProcessID);
            Process ActiveProcess = Process.GetProcessById(ProcessID);
 
            MessageBox.Show(ActiveProcess.ProcessName);
}
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
04.01.2018, 12:22
Лучший ответ Сообщение было отмечено maksili как решение

Решение

Цитата Сообщение от maksili Посмотреть сообщение
C#
1
Int32 handle = ptr.ToInt32();
Если дескриптор уже имеется, то зачем тянуть остальные функции из Win API?
Можно получить список запущенных процессов и отфильтровать по дескриптору:
C#
1
var process = Process.GetProcesses().SingleOrDefault(p => p.Handle == handle);
1
1 / 1 / 1
Регистрация: 02.04.2013
Сообщений: 124
04.01.2018, 13:00  [ТС]
Спасибо я не профи(только начинаю разбираться) просто долго очень пытался найти код(ничего не получилось), вот и пришлось лепить из того что было.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.01.2018, 13:00
Помогаю со студенческими работами здесь

Через функцию CreateToolhelp32Snapshot получить имя процесса
возник новый вопрос=) через винапишную функцию CreateToolhelp32Snapshot(....) пытаюсь получить имя процесса и ввести его в ячейку...

Можно ли запретить запуск окна, зная его Handle
Собственно вот и вопрос да и еще если можно вообще запретить запуск этой проги или её хранение, или еще как-нибудь, что-нибудь в этом роде?

Можно ли вставить свой собственный контрол в чужое окно, зная его handle?
Можно ли вставить свой собственный контрол в чужое окно, если я знаю его handle? К примеру, прилепить лейбл рядом с "чужим"...

Как получить имя пользователя процесса как в диспетчере задач?
Пробовал через Proccess.StartInfo.UserName, но там пусто, потом через string propertiesToSelect = new { "Handle",...

Как узнать ID процесса (PID) по дескриптору окна (Handle)?
АП. Интересует как узнать PID по Handle.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru