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
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.