Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: CL | DM;

Вниз

как по handle определить, какому приложению принадлежит окно   Найти похожие ветки 

 
Dema-X   (2004-11-29 16:51) [0]

Задай вопрос типа как по handle определить, какому приложению принадлежит окно и какой тип имеет окно(типа OLE Word.application)


 
Dema-X   (2004-11-30 05:49) [1]

Люди!Что никто не знает?Функции типа GetClassName не дают исчерпывающей информации о приложении а дрыгих функций я не знаю а GETCLASSINFO у меня не раюотают почему то!!! :((


 
Defunct ©   (2004-11-30 07:28) [2]

GetWindowModuleFileNameA


 
TUser ©   (2004-11-30 09:50) [3]


> какому приложению принадлежит окно

GetWindowThreadProcessId. Функцию приведенную в другой ветке считать бредом с перепою и переколу.

> какой тип имеет окно(типа OLE Word.application)

Никакое окно не имеет такого типа. Класс окна можно узнать функцией GetClassName. Узнать, поддерживает ли даное приложение OLE - я думаю, нельзя. Разве, что в реестре покопаться, но без гарантии результата. Да и не нужно это.


 
Dema-X   (2004-11-30 19:58) [4]


> GetWindowThreadProcessId. Функцию приведенную в другой ветке
> считать бредом с перепою и переколу.

Вы про это
> Defunct ©   (30.11.04 07:28) [2]

ну а как же
> GetActiveOleObject("Word.Application");
?


 
Dema-X   (2004-11-30 20:09) [5]


> Defunct ©   (30.11.04 07:28) [2]
> GetWindowModuleFileNameA

Ничего не выдает функция,только 51 если над моим окно и 0 над всеми другими!


 
Dema-X   (2004-12-04 12:58) [6]

.


 
easy ©   (2004-12-04 17:29) [7]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, TlHelp32, ExtCtrls;

type
 TForm1 = class(TForm)
   Timer1: TTimer;
   procedure Timer1Timer(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}
function GetFullExeName(ProcID: DWord): string;
var
 ModEntr: TModuleEntry32;
 ContinueLoop: BOOL;
 FSnapshotHandle: THandle;
begin
 FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, ProcID);
 ModEntr.dwSize := Sizeof(ModEntr);
 ContinueLoop := Module32First(FSnapshotHandle, ModEntr);
 Result := "";
 while (Integer(ContinueLoop) <> 0) and (Result = "") do
 begin
   if ProcID = ModEntr.th32ProcessID then begin
     Result := ModEntr.szExePath;
   end;
   ContinueLoop := Module32Next(FSnapshotHandle, ModEntr);
 end;
end;

function GetWModule(h: HWND): string;
var
 pProcID: ^DWORD;
begin
 GetMem(pProcID, SizeOf(DWORD));
 GetWindowThreadProcessId(h, pProcID);
 result := GetFullExeName(pProcID^);
 FreeMem(pProcID);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
 p:TPoint;
begin
 getcursorpos(p);
 caption:=GetWModule(windowfrompoint(p));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Timer1.Interval:=200;
end;

end.



Страницы: 1 вся ветка

Текущий архив: 2005.01.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
1-1105039658
t4
2005-01-06 22:27
2005.01.23
Пересылка переменной из dll


1-1105137755
Oddin
2005-01-08 01:42
2005.01.23
TImage


6-1099486260
anton2v
2004-11-03 15:51
2005.01.23
Ограничение скорости соединения


3-1103199897
Carmen
2004-12-16 15:24
2005.01.23
Неправильно отображаются суммы в диапазоне от 0 до -1


1-1105385578
Anonimus
2005-01-10 22:32
2005.01.23
Вопрос по TListView