![]() |
AcroPdf rechtsklick verhindern
Hallo zusammen,
ich habe ein Problem. Ich habe ein Form mit der ActiveX Komponente AcroPDF. Da der Benutzer nichts machen soll auser lesen und scrollen habe ich alle Leisten erfolgreich ausgeblendet. Nur den Rechtsklick kann ich nicht verhindern. Ich habe es bisher mit ApplicationEvents versucht:
Delphi-Quellcode:
Aber es funktioniert so nicht - des Beep wird nicht bei einem Rechtsklick ausgeführt.
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean); begin if (Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_RBUTTONDBLCLK) then begin beep; Handled :=IsChild(AcroPDF1.Handle, Msg.hwnd); end; end; Habt ihr da 'ne Idee???? |
AW: AcroPdf rechtsklick verhindern
eigentlich handelt es sich um eine fremde Anwendung, die bei Dir gedockt dargestellt wird.
Es ist die Frage ob Du an das "Windowproc" der darstellenden Komponente herankommst, oder ob Du Dich relativ in die MouseEvents hooken musst. Hier bin ich aber absolut nicht firm. |
AW: AcroPdf rechtsklick verhindern
Ich denke auch, dass es über einen Moushook gehen könnte. Aber da verstehe ich leider auch nix davon.
Hat jemand den Quellcode für eine Hook dll, die einen Rechtsklick der Mouse verhindert (nicht weiterleitet)? |
AW: AcroPdf rechtsklick verhindern
Wie wäre es, wenn du einfach eine transparente Komponente über das PDF-Dingens legst, alles Mausereignisse abfängst und nur die Gewollten an das PDF-Teil weiterleitest?
Man könnte auch das PDF auf ein Bitmap zeichnen lassen und zeigt Dieses dann an. |
AW: AcroPdf rechtsklick verhindern
Über ein AcroPDF kann mann leider nichts legen - Images und Co treten immer dahinter zurück.
Wie mann eine PDF auf ein Bitmap legt, weis ich nicht. Dann funktioniert das scrollen aber auch nicht mehr. |
AW: AcroPdf rechtsklick verhindern
Zitat:
Wäre toll, wenn du das nochmal genauer erklären könntest. |
AW: AcroPdf rechtsklick verhindern
Also Quelltext für Mousehooks findest Du über Googel zuhauf. Könnte aber sein, das Du einen globalen Mousehook benötigst. Und der geht nur mit einer DLL.
|
AW: AcroPdf rechtsklick verhindern
Wieso denn global? Er braucht es doch nur für seine Anwendung oder?
|
AW: AcroPdf rechtsklick verhindern
Zitat:
Wie schon erwähnt, ist das eine externe Anwendung (man schaue gerne mal in den Taskmanager) welche ihre Form "nur" bei seiner Anwendung eingebettet hat. Die ganze Messagebehandlung dieser Form verbleibt aber dennoch in der anderen Anwendung. |
AW: AcroPdf rechtsklick verhindern
Zitat:
Sieht man auch daran: AcroRd32.dll 24 MB AcroRd32.exe 1,5 MB Jetzt reicht es bei einem Amoklaufenden Acrobat nur noch die Exe abzuschießen und nicht noch nach Arcobat-Exe's im Taskmanager zu suchen :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz