| 
| 
 | Вопрос # 4 382/ вопрос открыт / | 
 |  Приветствую, уважаемые эксперты! Возник такой вопрос: как узнать имя приложения, над окном  которого в данный момент находится курсор мыши. желательно еще и узнать путь к этому приложению.Зарание спасибо.
 
|  |   Вопрос задал: Ученый (статус: 8-ой класс)Вопрос отправлен: 5 июля 2010, 16:30
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Паровоз Здравствуйте, Ученый!Примерно так:
 
 uses
  PsAPI;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
  pt:TPoint;
  wnd:HWND;
  dwProcessID:Cardinal;
  hProcess:Cardinal;
  exename:String;
begin
  GetCursorPos(pt);
  wnd:=WindowFromPoint(pt);
  GetWindowThreadProcessId(wnd, dwProcessID);
  hProcess:=OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, dwProcessID);
  SetLength(exename, MAX_PATH);
  GetModuleFileNameEx(hProcess, 0, PChar(exename), MAX_PATH);
  SetLength(exename,StrLen(PChar(exename)));
  Edit1.Text:=exename;
end; 
|  | Ответ отправил: Паровоз (статус: 10-ый класс)Время отправки: 5 июля 2010, 16:58
 
 |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |