AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Menu Ownerdraw

Ein Thema von EWeiss · begonnen am 7. Mär 2019 · letzter Beitrag vom 13. Mär 2019
Antwort Antwort
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Menu Ownerdraw

  Alt 7. Mär 2019, 22:25
Auch ein "Windows Detective" listet mir das Menu nicht auf wenn es angezeigt wird.
Er erkennt es nicht von daher kann ich auch nicht sagen wodurch es aufgerufen wird auch wenn ich es theoretisch weis
Das ist doch jetzt Quatsch.

Die Informationen aus den ersten Absatz in meiner ersten Antwort habe ich mir ja nicht ausgedacht, sondern direkt aus dem Windows Detective abgelesen.
Kennst du das Tool?

https://www.thewindowsclub.com/window-detective
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Menu Ownerdraw

  Alt 7. Mär 2019, 22:35
Auch ein "Windows Detective" listet mir das Menu nicht auf wenn es angezeigt wird.
Er erkennt es nicht von daher kann ich auch nicht sagen wodurch es aufgerufen wird auch wenn ich es theoretisch weis
Das ist doch jetzt Quatsch.

Die Informationen aus den ersten Absatz in meiner ersten Antwort habe ich mir ja nicht ausgedacht, sondern direkt aus dem Windows Detective abgelesen.
Kennst du das Tool?

https://www.thewindowsclub.com/window-detective
Quatsch? Ok anbei ein Screenshot!
Nun zeige mir bitte die Classe #32768

Warum soll ich dir irgendwas erzählen was nicht stimmt! Bringt mich in keinem Fall weiter.

gruss

Geändert von EWeiss (11. Jul 2019 um 15:55 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Menu Ownerdraw

  Alt 8. Mär 2019, 00:17
Destotrotz das ich mit "Windows Detective" die Class nicht finde versuche ich es jetzt auf diesen weg.
OK ist im Log zu finden seltsames Konzept..

Delphi-Quellcode:
function CBTHookProc(nCode: Integer; wP: WPARAM; lP: LPARAM): LRESULT; stdcall;
var
  buf: array[0..128] of Char;
  Style: DWORD;
begin
  if nCode < 0 then
  begin
    result := CallNextHookEx(FHook, nCode, wP, lP);
    exit;
  end;

  case nCode of
    HCBT_CREATEWND:
      begin
        CBTSturct := PCBTCreateWnd(lP)^;
        GetClassName(wP, buf, SizeOf(buf));
        if (Integer(CBTSturct.lpcs.lpszClass) = 32768) then
        begin
          CBTMenuHandle := wP;
          Style := GetWindowLongPtr(CBTMenuHandle, GWL_STYLE);
          if (Style and WS_POPUP = WS_POPUP) then
            ToolBarMenuSubClass(CBTMenuHandle);
        end;
        result := 0;
        exit;
      end;

    HCBT_DESTROYWND:
      if FHook <> 0 then
      begin
        UnhookWindowsHookEx(FHook);
        ToolBarMenuUnSubClass(CBTMenuHandle);
      end;
  end;
  result := CallNextHookEx(FHook, nCode, wP, lP);
end;
Delphi-Quellcode:
function ToolBarProc(WinHandle: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): LRESULT; stdcall;
var
  hDCTemp: HDC;
  rc, rw: TRect;
  ps: TPaintStruct;
  lpt: TPoint;
  DC: HDC;
  hDCBack: HDC;
begin
  Result := 0;

  case Msg of

    WM_LBUTTONDOWN:
      FHook := SetWindowsHookEx(WH_CBT, @CBTHookProc, 0, GetCurrentThreadId);
Das Problem das ich nun aber habe ist das 2 mal die Class "#32768" gefunden wird das verursacht nun richtige Probleme da ich nicht weis
welches handle nun gültig ist.

Dementsprechend wird jetzt auch 2 mal die Subclass ToolBarMenuSubClass(CBTMenuHandle); aufgerufen.

gruss

Geändert von EWeiss ( 8. Mär 2019 um 13:11 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Menu Ownerdraw

  Alt 11. Mär 2019, 08:40
Auch ein "Windows Detective" listet mir das Menu nicht auf wenn es angezeigt wird.
Er erkennt es nicht von daher kann ich auch nicht sagen wodurch es aufgerufen wird auch wenn ich es theoretisch weis
Das ist doch jetzt Quatsch.

Die Informationen aus den ersten Absatz in meiner ersten Antwort habe ich mir ja nicht ausgedacht, sondern direkt aus dem Windows Detective abgelesen.
Kennst du das Tool?

https://www.thewindowsclub.com/window-detective
Quatsch? Ok anbei ein Screenshot!
Nun zeige mir bitte die Classe #32768

Warum soll ich dir irgendwas erzählen was nicht stimmt! Bringt mich in keinem Fall weiter.
Anbei eine TeamViewer-Aufzeichnung, wo man das genau sieht.
Angehängte Dateien
Dateityp: zip Popup_fuer_EWeiss_2019-03-11_09.33.zip (999,4 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Menu Ownerdraw

  Alt 11. Mär 2019, 22:38
Danke brauch ich nicht.
Hatte im vorherigen Thread schon geschrieben.
Zitat:
Destotrotz das ich mit "Windows Detective" die Class nicht finde versuche ich es jetzt auf diesen weg.
OK ist im Log zu finden seltsames Konzept..
gruss
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Menu Ownerdraw

  Alt 12. Mär 2019, 08:10
Ich freue mich, dass du dein Problem anscheinend lösen konntest.
Du hattest gebeten, dir die Klasse zu zeigen, was ich damit tat.

Übrigens:
Beitrag, man nennt es Beitrag oder Post (englischer Plural: Postings).
Eine Ansammlung von Beiträgen oder Posts sind ein Thread (deutsch: Strang, Faden).

Das liest übrigens keiner, wenn du deine Beiträge im Nachhinein immer so vollständig und grundsätzlich editierst.
Die Edit-Funktion ist dafür da, um irgendwelche Fehler (Formatierungs-, Tipp-, Inhaltliche) zu korrigieren.
Du solltest dir wirklich angewöhnen, neue Erkenntnisse u.ä. in einem neuen Beitrag zu schreiben.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Menu Ownerdraw

  Alt 12. Mär 2019, 08:17
Zitat:
Beitrag, man nennt es Beitrag oder Post (englischer Plural: Postings).
Du hast recht.. sorry.
Zitat:
Du hattest gebeten, dir die Klasse zu zeigen, was ich damit tat.
Ich freue mich auch über deine Hilfe nur ich verwende keinen TeamViewer und könnte die Datei also nicht ansehen.
Zitat:
Du solltest dir wirklich angewöhnen, neue Erkenntnisse u.ä. in einem neuen Beitrag zu schreiben.
Ja werde mich bessern.

gruss
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Menu Ownerdraw

  Alt 12. Mär 2019, 09:17
Zitat:
Du hattest gebeten, dir die Klasse zu zeigen, was ich damit tat.
Ich freue mich auch über deine Hilfe nur ich verwende keinen TeamViewer und könnte die Datei also nicht ansehen.
Ja, nun...einatmen, ausatmen...du könntest dir natürlich TeamViewer (TV) auch runterladen.
Es gibt auch eine Portable-Version ohne Installation zum Runterladen (ganz unten auf folgender Seite):
https://www.teamviewer.com/de/download/windows/

Ich vermute, dass diese portable Version auch Bildschirmaufzeichnungen öffnen kann. Bitte prüfen!
Im normalen TV im Menüpunkt "Extras -> Aufgezeichnete Sitzung abspielen oder konvertieren...".
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:43 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