• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Имя окна

  • Автор темы spoiler
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

spoiler

Обращаюсь к тем, кто работал с указателями и т.п.

Вопрос вот в чем - как узнать имя процесса к которому он принадлежит, зная указатель окна
 
B

Barmutik

GetWindowThreadProcessId ... я уже отвечал на этот вопрос ...

Вот простой пример:

Код:
type 
 PProcessWindow = ^TProcessWindow; 
 TProcessWindow = record 
   TargetProcessID: Cardinal; 
   FoundWindow: hWnd; 
 end; 


function EnumWindowsProc(Wnd: hWnd; ProcWndInfo: PProcessWindow): BOOL; 
stdcall; 
var 
 WndProcessID: Cardinal; 
begin 
 GetWindowThreadProc(Wnd, WndProcessID); 
 if WndProcessID = ProcWndInfo^.TargetProcessID then begin 
   ProcWndInfo^.FoundWindow := Wnd; 
   Result := False; // we've already found a window. 
 end else Result := True; // Keep searching 
end; 

function GetProcessWindow(TargetProcess­ID: Cardinal): hWnd; 
var 
 ProcWndInfo: TProcessWindow; 
begin 
 ProcWndInfo.TargetProcessID := TargetProcessID; 
 ProcWndInfo.FoundWindow := 0; 
 EnumWindows(@EnumWindowsProc, @ProcWndInfo); 
 Result := ProcWndInfo.FoundWindow; 
end;

Хватит задавать одни и теже вопросы в разных темах...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!