AGB  ·  Datenschutz  ·  Impressum  







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

Kontextmenüs sperren? WIE?

Ein Thema von thomasdrewermann · begonnen am 22. Sep 2002 · letzter Beitrag vom 29. Sep 2002
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von thomasdrewermann
thomasdrewermann

Registriert seit: 8. Jun 2002
Ort: Herne
575 Beiträge
 
Delphi 3 Professional
 
#1

Kontextmenüs sperren? WIE?

  Alt 22. Sep 2002, 18:41
hi Leute,
schon wieder nerver ich mit einer weltbewegenden frage.
Wie kann ich Kontext-Menüs (rechtsklickmenüs) abfangen oder sperren?
Sport ist mord...
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#2
  Alt 22. Sep 2002, 19:13
Nur so ein Gedanke,

es gibt ja OnMouseDown. Da kannst du dann sagen Taste rechts, wenn gedrückt, dann Key := 0;
Oder das ganze im OnKeyPress/Down des Form.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Benutzerbild von thomasdrewermann
thomasdrewermann

Registriert seit: 8. Jun 2002
Ort: Herne
575 Beiträge
 
Delphi 3 Professional
 
#3
  Alt 22. Sep 2002, 19:15
Nein, ich will Kontext-Menüs Global, also überall in Windows sperren.
Ach ja, und das unter Win98!
Sport ist mord...
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#4
  Alt 22. Sep 2002, 19:31
Aber Achtung: Ein einfaches Abfangen der Rechtsklicks bringt nicht, weil man auch mit der Rechtklicktaste auf der Tastatur einen Rechtklick produzieren kann!
  Mit Zitat antworten Zitat
Benutzerbild von thomasdrewermann
thomasdrewermann

Registriert seit: 8. Jun 2002
Ort: Herne
575 Beiträge
 
Delphi 3 Professional
 
#5
  Alt 22. Sep 2002, 21:16
Es wäre mir vielleicht schon geholfen, wenn ich wüsste welches Handle das gerade geöffnete Startmenü hat.

Dann kann man es einfach minimieren, oder schliessen.

Ich hatte es mit Findwindow und showwindow probiert:

Code:
showwindow(findwindow('PopupMenu',nil),SW_MINIMIZE);
Diesen Code hatte ein Timer alle 100ms aufgerufen.

Doch die Kontextmenüs blieben Sichtbar (

Hat jemand vielleicht eine Idee warum?

MFG
Thomas
Sport ist mord...
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#6
  Alt 22. Sep 2002, 21:21
Vielleicht gibts ein Refresh, â la F5.
Dann würde es "theoretisch" verschwinden.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Benutzerbild von thomasdrewermann
thomasdrewermann

Registriert seit: 8. Jun 2002
Ort: Herne
575 Beiträge
 
Delphi 3 Professional
 
#7
  Alt 22. Sep 2002, 21:33
Wo gibs ein Refresh?
Ich kann ja nicht ständig F5 senden...
Sport ist mord...
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8
  Alt 23. Sep 2002, 01:45
Moin Thomas,

ich denke mal, dass Deine Variante deshalb nicht funktioniert, weil Du nicht wissen kannst, wie der Klassenname eines Popupmenüs ist.
Der kann sich von Programm zu Programm ändern.

Abfangen liesse sich diese Anzeige wahrscheinlich durch einen Maus und Tastatur Hook, nur:
Was machst Du bei Programmen, die ohne Kontextmenü nicht, kaum oder schlecht bedienbar werden.

Solltest Du nur die Kontextmenüs bestimmter Programme unterdrücken wollen, wäre es interessant zu wissen, welche Programme dies betrifft.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von thomasdrewermann
thomasdrewermann

Registriert seit: 8. Jun 2002
Ort: Herne
575 Beiträge
 
Delphi 3 Professional
 
#9
  Alt 23. Sep 2002, 15:14
Die Kontext-Menüs der öffnen und speichern dialoge verschiedener Programme.
Das Kontext-Menü des IEXPLORERs.

Ich habe es mir mit Winsight angeschaut:
Sport ist mord...
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#10
  Alt 23. Sep 2002, 16:14
Moin Thomas,

in dem von Dir gezeigten Beispiel müsste der Klassenname #32768 lauten.
Du müsstest also FindWindow(PChar('#32768'),nil) verwenden.

Die meisten Dialoge (z.B. Fehlermeldungen) haben meist die Klasse #32770.

Gerade beim IE kann man das Kontextmenü allerdings auch über Policies einschränken (ich muss mal den Key raussuchen).

Was willst Du denn genau mit der Sperrung des Kontextmenüs unterbinden?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz