Имя окна

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

spoiler

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

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

Barmutik

#2
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;
Хватит задавать одни и теже вопросы в разных темах...
 
Статус
Закрыто для дальнейших ответов.