Thema: Delphi TMemo kopiergeschützt

Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#7

Re: TMemo kopiergeschützt

  Alt 9. Dez 2009, 05:53
Hallo

Das Kopieren von Text kannst du durch Abfangen von WM_COPY verhindern.


Delphi-Quellcode:
 private
    FOldMemoProc: TWndMethod;
  protected
    procedure MemoWndProc(var Msg: TMessage);
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM} 

procedure TForm1.MemoWndProc(var Msg: TMessage);
begin
  if (Msg.Msg = WM_COPY) then
  begin
    Msg.Result := 1;
    ShowMessage('Kopieren nicht erlaubt ;)');
  end else
    FOldMemoProc(Msg);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FOldMemoProc := Memo1.WindowProc;
  Memo1.WindowProc := MemoWndProc;
end;
Wenn auch Msg.Msg auf WM_GETTEXT überprüft wird, kann der Text auch nicht mehr von "außen" ausgelesen werden.
Musst nur überprüfen, ob dies keine anderen "Nebenwirkungen" mit sich bringt.
Thomas
  Mit Zitat antworten Zitat