Код | unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type TForm1 = class(TForm) Button1: TButton; Timer1: TTimer; procedure Button1Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin Timer1.Interval:=10; Timer1.Enabled:=true; //Запускаем end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Timer1.Enabled:=false; //При закрытии останавливаем end;
procedure TForm1.Timer1Timer(Sender: TObject); var ID,w:DWord; begin Timer1.Enabled:=false; w:=GetForegroundWindow(); ID:=GetWindowThreadProcessId(w,nil); if (ID<>GetCurrentThreadID) then begin Sleep(100); AttachThreadInput(GetCurrentThreadID,ID,true); SetWindowPos(w,HWND_NOTOPMOST,0,0,0,0,SWP_FRAMECHANGED or SWP_NOMOVE or SWP_NOSIZE); SetWindowPos(Form1.Handle,HWND_TOP,Left,Top,Width,Height,SWP_FRAMECHANGED); AttachThreadInput(GetCurrentThreadID,ID,false); end; Timer1.Enabled:=true; end;
end. | |