Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: die rechte Maustaste sperren aber nur in Bereich Webbrow

  Alt 27. Aug 2007, 09:27
Zitat von Luckie:
26 Zeilen sind dir zu lang? Ja da wird der Autor wohl extra eine umstädliche Methode implementiert haben, um den Code extra lang zu machen.
Hat er auch
So isses kürzer.

Delphi-Quellcode:
Function MouseProc(nCode: Integer; wParam, lParam: Longint): Longint; stdcall;
Var
  szClassName: Array[0..255] Of Char;
Const
  ie_name = 'Internet Explorer_Server';
Begin
  If (nCode >= 0) And ((wParam = WM_RBUTTONDOWN) Or (wParam = WM_RBUTTONUP)) Then Begin
    GetClassName(PMOUSEHOOKSTRUCT(lParam)^.HWND, szClassName, SizeOf(szClassName));
    If lstrcmp(@szClassName[0], @ie_name[1]) = 0 Then Begin
      Result := HC_SKIP;
      Exit;
    End;
  End;
  Result := CallNextHookEx(HookID, nCode, wParam, lParam)
End;
So ist es -finde ich- auch besser, da die Alternative (nächsten Hook aufrufen) nur 1x im Code vorkommt, und nicht 3x, wie in der SDC-Variante.
Etwas übersichtlicher wäre es so (allerdings mit einer ganzen Zeile mehr (!!) Code):
Delphi-Quellcode:
Begin
  If (nCode >= 0) Then
    If (wParam = WM_RBUTTONDOWN) Or (wParam = WM_RBUTTONUP) Then Begin
....
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat