Имя окна

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

Наш партнер Genesis Hackspace
Статус темы:
Закрыта.
  1. spoiler

    spoiler Гость

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

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

    Barmutik Гость

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

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

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

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