AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Explorer-Kontextmenüpunkt unsichtbar ausführen
Thema durchsuchen
Ansicht
Themen-Optionen

Explorer-Kontextmenüpunkt unsichtbar ausführen

Ein Thema von CodeX · begonnen am 14. Aug 2015 · letzter Beitrag vom 23. Aug 2015
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Explorer-Kontextmenüpunkt unsichtbar ausführen

  Alt 14. Aug 2015, 14:47
Oder mit anderen Worten gesagt:

Du möchtest gar nicht das Kontext-Menü, sondern nur den Inhalt (also die Aktionen) und dir daraus eine aussuchen und ausführen, so als ob diese über das Kontextmenü ausgelöst worden wäre.

So in etwa richtig?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Explorer-Kontextmenüpunkt unsichtbar ausführen

  Alt 14. Aug 2015, 14:51
Korrekt!

Aber um an diese Aktionen zu kommen, brauche ich ja erst das Kontextmenü, oder? Zumindest war das mein Gedankengang...
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Explorer-Kontextmenüpunkt unsichtbar ausführen

  Alt 14. Aug 2015, 15:01
Die Informationen, wie und wo was warum angezeigt/aufgerufen wird liegt zum einen Teil in der Registry.

Was für einen Menü-Eintrag - was für einen Aktion - soll denn ausgeführt werden? Meistens gibt es einen ganz anderen Weg dahin.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#4

AW: Explorer-Kontextmenüpunkt unsichtbar ausführen

  Alt 14. Aug 2015, 15:10
Hm, ich glaube, das würde hier zu weit weg von dem eigentlichen Wunsch wegführen. Das, was ich hier anfrage bzw. vorhabe, ist bereits mein letzter Stohhalm. Der normale API-Weg funktioniert in einer bestimmten Konstellation nur fehlerhaft. Über das Kontextmenü des Explorers geht es allerdings. Das Problem ist hier bereits durch mehrere Hände gegangen und es gibt dazu auch Diskussionen bei MSDN, die zu keiner Lösung führen.

Es wird also definitiv nur über einen Workaround führen und mit dem hier beschriebenen Weg, sehe ich die Möglichkeit für einen solchen Workaround.

Edit: Wenn es dich wirklich interessiert, beschreibe ich Dir das Problem gerne per PM bzw. sende Links dazu. Ich befürchte einfach, wenn ich das hier beschreibe, geht die eigentliche Frage komplett unter.
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.

Geändert von CodeX (14. Aug 2015 um 15:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Explorer-Kontextmenüpunkt unsichtbar ausführen

  Alt 14. Aug 2015, 15:45
Was soll der Code denn eigentlich machen? Ich werde aus der riesen Prozedur nicht so ganz schlau? Und ich kann mir nicht vorstellen, dass das nur über das Kontext Menü des Explorers gescheit funktionieren soll.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#6

AW: Explorer-Kontextmenüpunkt unsichtbar ausführen

  Alt 14. Aug 2015, 15:52
Was soll der Code denn eigentlich machen? Ich werde aus der riesen Prozedur nicht so ganz schlau?
Der Code ist ein vollständiges Programm. Wenn Du ein neues Projekt anlegst, den Code einfügst und den einen Aufruf einem Button hinzufügst, kannst Du beim Klick auf den Button das Kontextmenü öffnen, als hättest Du gerade einen Rechtsklick auf eine Datei oder ein Laufwerk im Explorer durchgeführt. In dem Fall wäre es das Kontextmenü von C:
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Explorer-Kontextmenüpunkt unsichtbar ausführen

  Alt 14. Aug 2015, 17:18
Da ich mit der Materie nicht so vertraut bin, habe ich mal bei MSDN nachgeschaut:
Zitat:
Methods

The IContextMenu interface has these methods.


Method

Description

GetCommandString
Gets information about a shortcut menu command, including the help string and the language-independent, or canonical, name for the command.

InvokeCommand
Carries out the command associated with a shortcut menu item.

QueryContextMenu
Adds commands to a shortcut menu.


Das InvokeCommand sollte doch sein was Du willst? oder hab ich das falsch verstanden?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Explorer-Kontextmenüpunkt unsichtbar ausführen

  Alt 14. Aug 2015, 18:55
Der Code ist ein vollständiges Programm. Wenn Du ein neues Projekt anlegst, den Code einfügst und den einen Aufruf einem Button hinzufügst, kannst Du beim Klick auf den Button das Kontextmenü öffnen, als hättest Du gerade einen Rechtsklick auf eine Datei oder ein Laufwerk im Explorer durchgeführt. In dem Fall wäre es das Kontextmenü von C:
Ja das habe ich verstanden. Aber letztendlich soll doch was passieren und zwar mehr als nur das Kontextmenü aufklappen zu lassen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 12: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