Форум: "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.035 c