Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Вниз

Как украсть текст из 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.031 c
9-1063985504
Ландграф Павел
2003-09-19 19:31
2004.04.04
Проверка столкновений прямоугольников в 2D игре


7-1074335056
Игор
2004-01-17 13:24
2004.04.04
Отслеживание событий


3-1078810518
kaginava
2004-03-09 08:35
2004.04.04
InterBase под Linux


3-1078958054
Vemer
2004-03-11 01:34
2004.04.04
Толщина ползунка в DBGrid - как отследить?


9-1063796535
z1r[0]
2003-09-17 15:02
2004.04.04
из 3d-max в .x





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский