Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/22: Рейтинг темы: голосов - 22, средняя оценка - 4.68
1150 / 858 / 263
Регистрация: 30.04.2009
Сообщений: 3,597
1

По известному дескриптору окна получить Id процесса, к которому оно принадлежит

27.02.2010, 13:54. Показов 4607. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Можно ли как-то по известному дескриптору окна получить Id процесса, к которому оно принадлежит?
Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.02.2010, 13:54
Ответы с готовыми решениями:

Как по дескриптору процесса получить hWnd порождённого этим процессом окна?
Как по дескриптору процесса получить hWnd порождённого этим процессом окна? Цель: запустить...

Получение HWND окна по дескриптору процесса
Помогите пожалуйста, мне надо узнать хэндл окна по дескриптору процесса, возможно ли вообще это...

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

Получить путь к .exe по дескриптору окна
wchar_t szFileName; DWORD pID; HANDLE hProcess; HWND hWnd = FindWindow(NULL,...

4
5 / 4 / 1
Регистрация: 27.02.2010
Сообщений: 29
27.02.2010, 14:21 2
The GetWindowThreadProcessId function retrieves the identifier of the thread that created the specified window and, optionally, the identifier of the process that created the window. This function supersedes the GetWindowTask function.

C#
1
2
3
4
5
DWORD GetWindowThreadProcessId(
 
    HWND hWnd,  // handle of window
    LPDWORD lpdwProcessId   // address of variable for process identifier
   );

Parameters

hWnd

Identifies the window.

lpdwProcessId

Points to a 32-bit value that receives the process identifier. If this parameter is not NULL, GetWindowThreadProcessId copies the identifier of the process to the 32-bit value; otherwise, it does not.



Return Values

The return value is the identifier of the thread that created the window.

Remarks

This function replaces the GetWindowTask function of Windows version 3.x.
выдержка из документации

примерно так:
C#
1
2
3
...
if ( GetWindowThreadProcessId ( hwnd, &lProcessID) 
 { ... }
1
1 / 1 / 0
Регистрация: 18.11.2008
Сообщений: 8
01.03.2010, 00:44 3
Примерно так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
using Sytem.Diagnostics;
 
int GetPIDByWindow(IntPrt WindowID) {
    int result=-1;
    foreach(Process p in Process.GetProcesses()) {
        if (p.MainWindowHandle==WindowID) {
            result=p.Id;
            break;
        }
    }
    return result;
}
1
1150 / 858 / 263
Регистрация: 30.04.2009
Сообщений: 3,597
01.03.2010, 20:44  [ТС] 4
Еще вопрос по этой теме...
Можно ли как то получить все дескрипторы окон принадлежащие данному процессу не используя перечисление окон (EnumWindows) ?
0
 Аватар для d0s'A
153 / 113 / 25
Регистрация: 23.06.2008
Сообщений: 320
02.03.2010, 14:32 5
Скорее всего нет!
0
02.03.2010, 14:32
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.03.2010, 14:32
Помогаю со студенческими работами здесь

Получить объект которому принадлежит кнопка
Здравствуйте. <div class="box"> <button class="btn">button</button> <!-- еще элементы...

По известному хендлу окна получить его координаты
Как по известному хендлу окна (handle - целое число) получить размеры и координаты этого окна?

Как получить имя класса, которому принадлежит поле
Есть метод с одним out-параметром, принимающим string. Как с помощью рефлексии в этом методе...

Получить ID процесса если известно его хэндл, название окна или название процесса
а как получить ID процесса если известно его хэндл, название окна или название процесса?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Rust или Go? А может C++?
hw_wired 28.01.2025
С каждой новой технологией или методологией появляются новые языки программирования, призванные решать конкретные задачи либо улучшать аспекты производительности и безопасности. Среди множества. . .
Fortran и WinAPI: как создать приложение с графическим интерфейсом
hw_wired 28.01.2025
Fortran — это один из старейших высокоуровневых языков программирования, широко используемый в науке и инженерии уже несколько десятилетий. Его название происходит от "Formula Translation" (перевод. . .
Списки в Haskell
hw_wired 28.01.2025
Haskell является функциональным языком программирования, который отличается лаконичностью синтаксиса и мощными абстракциями. Важным концептом в Haskell являются списки — упорядоченные коллекции. . .
Функции высшего порядка в Haskell
hw_wired 28.01.2025
Haskell – это современный функциональный язык программирования, который получил широкое распространение благодаря своей выразительности и мощным абстракциям. Одной из ключевых особенностей Haskell. . .
Как в цикле обойти все поля объекта в JavaScript
bytestream 28.01.2025
Объекты в JavaScript представляют собой фундаментальные структуры данных, которые позволяют хранить и организовывать связанную информацию в виде пар ключ-значение. Каждый объект можно представить как. . .
Как выбрать строки в DataFrame по значению столбца в Pandas
bytestream 28.01.2025
В области анализа данных библиотека Pandas стала незаменимым инструментом для работы с табличными данными в Python. Эта мощная библиотека предоставляет множество функций для эффективной обработки и. . .
Как сделать перенос строки в Bash
bytestream 28.01.2025
При работе с командной оболочкой Bash разработчики часто сталкиваются с необходимостью форматирования текстового вывода, где ключевую роль играет правильное управление переносами строк. Умение. . .
Поиск подстроки в строке с помощью Bash
bytestream 28.01.2025
Поиск подстроки в строке является одной из важных задач в программировании и обработке текстов. Применение такого поиска можно найти в самых разных областях, от анализа данных до разработки. . .
[golang] 169. Majority Element
alhaos 28.01.2025
Тут надо вернуть "мажористый" элемент который встречается в слайсе больше чем в половине случаев. По условиям задачи во входных данных такой элемент обязан присутствовать. / / . . .
Когда лучше использовать LinkedList вместо ArrayList в Java
bytestream 28.01.2025
При разработке Java-приложений выбор правильной структуры данных играет ключевую роль в обеспечении эффективности и производительности программы. ArrayList и LinkedList являются двумя. . .
Какой ответ HTTP лучше использовать: 403 Forbidden или 401 Unauthorized, когда недостаточно прав
bytestream 28.01.2025
В современной веб-разработке правильная обработка ошибок и точное информирование клиентов о статусе их запросов играют критическую роль в создании надежных и безопасных приложений. Особое внимание. . .
Как получить список всех файлов коммита в Git
bytestream 28.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде и других файлах проекта. В основе работы Git лежит концепция коммитов - снимков. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru