Aktywność okna aplikacji

0

Jest taki problem - mam otwartą aplikację albo przeglądarkę i to okno jest aktywne - chciałbym zrobić program, który pozwoli mi na pracę (wykonywanie jakiś czynności), ale nie będzie aktywny. Czyli chodzi o to, żeby program pozwalał na wpisanie czegoś i nie stawał sie aktywny - aktywnie niech pozostanie okno które było aktywne. Jak to zrobić?

0

Już sobie poradziłem :) Jakby kogoś to jeszcze interesowało to poniższy kod załatwia mój problem

unit Unit1;

interface

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

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

var
  Form1: TForm1;
  aktywne_okno:HWND;
  moje_okno:HWND;
  zapamietaj_okno:HWND;

implementation

{$R *.DFM}

procedure TForm1.FormActivate(Sender: TObject);
begin
    moje_okno:=GetForegroundWindow();
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
    aktywne_okno:=GetForegroundWindow();
    if aktywne_okno<>moje_okno then
       zapamietaj_okno:=aktywne_okno;
    if aktywne_okno=moje_okno then
       SetForegroundWindow(zapamietaj_okno);   
end;

end.

1 użytkowników online, w tym zalogowanych: 0, gości: 1