1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Имя окна

Тема в разделе "Delphi - Система", создана пользователем spoiler, 22 авг 2005.

Статус темы:
Закрыта.
  1. spoiler

    spoiler Гость

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

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

    Barmutik Гость

    Репутация:
    0
    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;
    Хватит задавать одни и теже вопросы в разных темах...
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей