Пример процедуры убивающей таймеры по заголовку окна в чужих приложениях написанных на Delphi
Материал из DRKB
Пример процедуры убивающей таймеры по заголовку окна в чужих приложениях написанных на Delphi[править | править код]
var
HInst : THandle;
WndArr : array of THandle;
Wnd : THandle;
procedure KillDelphiWndTimers(const AppCaption: string);
var
i: Integer;
function GetTimerWindows(Handle: HWND; Info: Pointer): BOOL; stdcall;
const
sClName = 'TPUtilWindow';
var
s: string;
begin
Result := True;
SetLength(s, Length(sClName)+1);
GetClassName(Handle, PChar(s), Length(s));
SetLength(s, Length(sClName));
if (GetWindowLong(Handle, GWL_HINSTANCE) = HInst ) and (s = sClName) then
begin
SetLength(WndArr, High(WndArr)+2);
WndArr[High(WndArr)] := Handle;
end;
end;
begin
Wnd := FindWindow(nil, PChar(AppCaption));
if Wnd = 0 then Exit;
HInst := GetWindowLong(Wnd, GWL_HINSTANCE);
EnumWindows(@GetTimerWindows, 0);
for i := 0 to High(WndArr) do KillTimer(WndArr[i], 1);
end;
Author: Radmin
Source: Взято с Vingrad.ru http://forum.vingrad.ru
ID: 02120