un programme pour cacher des fenetres de l'écran et de la barre de taches
le programme affiche quelques infos sur les fenetres choisies:
nom de classe ,titre de la fenete, id ...
Source / Exemple :
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm2 = class(TForm)
EditPosX: TEdit;
EditPosY: TEdit;
EditHandle: TEdit;
EditTitle: TEdit;
EditClassName: TEdit;
EditThreadID: TEdit;
BtnHide: TButton;
BtnShow: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Timer1: TTimer;
Button1: TButton;
procedure Timer1Timer(Sender: TObject);
procedure BtnHideClick(Sender: TObject);
procedure BtnShowClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.BtnHideClick(Sender: TObject);
// hide selected window
begin
ShowWindow(FindWindow(PAnsiChar(EditClassName.text), PAnsiChar(EditTitle.text)), 0);
end;
procedure TForm2.BtnShowClick(Sender: TObject);
begin
// show selected window
ShowWindow(FindWindow(PAnsiChar(EditClassName.text), PAnsiChar(EditTitle.text)), 1);
end;
procedure TForm2.Button1Click(Sender: TObject);
// start timer and select a window
begin
BtnHide.Enabled :=false;
BtnShow.Enabled :=false;
Timer1.Enabled :=true;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
BtnHide.Enabled :=false;
BtnShow.Enabled :=false;
end;
procedure TForm2.Timer1Timer(Sender: TObject);
var
cPos: TPoint;
hWnd:THandle;
wText: PChar;
WinClass : array[0..80] of Char;
Result : Smallint;
begin
Result := GetAsyncKeyState(VK_LBUTTON);
if (Result And $8000) <> 0 then
begin
if EditHandle.Text<>form2.Caption then
begin
BtnHide.Enabled :=true;
BtnShow.Enabled :=true;
Timer1.Enabled :=false;
end;
End;
GetCursorPos(cPos);
hWnd := WindowFromPoint(cPos);
GetMem(wText,GetWindowTextLength(hWnd)+1);
GetWindowText(hWnd,wText,GetWindowTextLength(hWnd)+1);
GetClassName(hWnd,WinClass,SizeOf(WinClass));
EditPosX.Text:=(IntToStr(cPos.X));
EditPosY.Text:=(IntToStr(cPos.Y));
EditHandle.Text:=PChar(IntToHex(hWnd,2)) ;
EditTitle.Text:=wText ;
EditClassName.Text:=WinClass ;
EditThreadID.Text:=PChar(IntToHex(GetWindowThreadProcessID(hWnd,nil),8)) ;
end;
end.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.