Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Как украсть текст из Edit a чужого приложения!   Найти похожие ветки 

 
serfom ©   (2004-01-25 16:29) [0]

Как украсть текст из Edit"a чужого приложения!


 
XenonXX ©   (2004-01-26 04:59) [1]


unit main;

interface

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

type
 TfrmAntiPassword = class(TForm)
   Shape1: TShape;
   Bevel2: TBevel;
   Label4: TLabel;
   GroupBox1: TGroupBox;
   Label3: TLabel;
   Label2: TLabel;
   Label1: TLabel;
   edtText: TEdit;
   edtClassName: TEdit;
   edtHandle: TEdit;
   Panel1: TPanel;
   Bevel1: TBevel;
   btnHelp: TSpeedButton;
   btnExit: TSpeedButton;
   Image1: TImage;
   Panel2: TPanel;
   SpeedButton1: TSpeedButton;
   SpeedButton2: TSpeedButton;
   Image2: TImage;
   procedure ImageMouseDown(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
   procedure ImageMouseUp(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
   procedure btnExitClick(Sender: TObject);
   procedure SpeedButton1Click(Sender: TObject);
   procedure SpeedButton2Click(Sender: TObject);
   procedure FormShow(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
   procedure edtHandleKeyUp(Sender: TObject; var Key: Word;
     Shift: TShiftState);
   procedure btnHelpClick(Sender: TObject);
 private
   procedure WMNCHITTEST(var M: TWMNCHitTest); message WM_NCHITTEST;
 end;

var
 frmAntiPassword: TfrmAntiPassword;

implementation

{$R *.dfm}
{$R "antipsw.res"}

procedure TfrmAntiPassword.WMNCHitTest (var M:TWMNCHitTest);
begin
inherited;
 if M.Result = htClient then M.Result := htCaption;
end;

procedure TfrmAntiPassword.ImageMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 Screen.Cursors[100] := LoadCursor(hInstance,"CRS");
 Screen.Cursor := 100;
 Image1.Visible := false;
end;

procedure TfrmAntiPassword.ImageMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
var
 p: PChar;
 point: TPoint;
 n: integer;
 s: string;
 h: HWND;
 buf: array [0..255] of char;
begin
 try
   point.X := Mouse.CursorPos.X;
   point.Y := Mouse.CursorPos.Y;
   H := WindowFromPoint(Point);
   edtHandle.Text := IntToStr(h);
   n := GetWindowTextLength(H);
   GetMem(p, n+1);
   GetWindowText(H, p, n+1);
   s := StrPas(p);
   edtText.Text := s;
   GetClassName(H, buf, SizeOf(Buf));
   edtClassName.Text := buf;
   AnimateWindow(Handle, 100, 1000);
 finally
   Screen.Cursor := crDefault;
   Image1.Visible := true;
 end;
end;

procedure TfrmAntiPassword.btnExitClick(Sender: TObject);
begin
 Close;
end;

procedure TfrmAntiPassword.SpeedButton1Click(Sender: TObject);
begin
 Application.Minimize;
end;

procedure TfrmAntiPassword.SpeedButton2Click(Sender: TObject);
begin
 Close;
end;

procedure TfrmAntiPassword.FormShow(Sender: TObject);
var
 RectSmall, RectNormal: TRect;
begin
 RectSmall := Rect(0, 0, 0, 0);
 RectNormal := BoundsRect;
 DrawAnimatedRects(Handle, IDANI_CAPTION, RectSmall, RectNormal);
end;

procedure TfrmAntiPassword.FormClose(Sender: TObject;
 var Action: TCloseAction);
var
 RectSmall, RectNormal: TRect;
begin
 RectSmall := Rect(0, 0, 0, 0);
 RectNormal := BoundsRect;
 DrawAnimatedRects(Handle, IDANI_CAPTION, RectNormal, RectSmall);
end;

procedure TfrmAntiPassword.edtHandleKeyUp(Sender: TObject; var Key: Word;
 Shift: TShiftState);
var
 p: PChar;
 n: integer;
 s: string;
 h: HWND;
 buf: array [0..255] of char;
begin
 if key = VK_RETURN then
 begin
   val(edtHandle.Text, h, n);
   if n <> 0 then
   begin
     ShowMessage("??????????, ??????? ????? ?????!"+sLineBreak+
         "?????????? ????? ???? ???????????"+sLineBreak+
         " ?????? ? ???????????? ????.");
     exit;
   end;
   if not IsWindow(H) then
   begin
     ShowMessage("???? ? ???????????? "+IntToStr(h)+" ?? ???????");
     exit;
   end;
   GetMem(p, n+1);
   GetWindowText(H, p, n+1);
   s := StrPas(p);
   edtText.Text := s;
   GetClassName(H, buf, SizeOf(Buf));
   edtClassName.Text := buf;
 end;
end;

end.


 
serfom ©   (2004-01-26 21:08) [2]

Thanks


 
YuRock ©   (2004-01-26 21:19) [3]

А можно проще: GetWindowText(hEdit, @Buf, nBufLen)


 
Woodpecker ©   (2004-01-27 14:20) [4]

>serfom ©  (25.01.04 16:29)

Кража текста является уголовно наказуемым деянием.



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
6-1074086073
able
2004-01-14 16:14
2004.04.04
Сокеты


7-1073795944
Кен
2004-01-11 07:39
2004.04.04
Где Виндос хранит информацию о расположении файлов в папке ? А


3-1078806569
Романов Р.В.
2004-03-09 07:29
2004.04.04
Обновление данных в SQL запросе


1-1079520897
Незнающий
2004-03-17 13:54
2004.04.04
Поиск в массиве


14-1078773542
Gero
2004-03-08 22:19
2004.04.04
Бот для форума