popupmenü mit "Öffnen mit"

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

popupmenü mit "Öffnen mit"

Beitrag von marcelx »

Hallo,

ich wollte ein Popupmenu realisieren mit der Funktion "Öffnen mit" mit CreatePopupMenu.
Gibt es ein Möglichkeit der Menu von Windows aufzurufen?
Diese ist immer abhängig der Dateitype.

Danke
MarcelX
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: popupmenü mit "Öffnen mit"

Beitrag von RSBasic »

Willst du neue Einträge im Kontextmenü einer bestimmten Dateierweiterung hinzufügen?
Da musst du was in der Registry im Schlüssel "HKEY_CLASSES_ROOT\.<Dateityp>\" erstellen: http://www.youtube.com/watch?v=5UnP8DNYhzs
Registry-Beispiele findest du im Forum, um neue Einträge mit PB und WinAPI erstellen zu können.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: popupmenü mit "Öffnen mit"

Beitrag von ts-soft »

So einfach ist das eigentlich nicht :mrgreen:
Eine Shellerweiterung wird benötigt, hier ein etwas betagtes Beispiel:
http://www.purebasic.fr/english/viewtop ... 367#p83367
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: popupmenü mit "Öffnen mit"

Beitrag von marcelx »

Ich versuch es mit ein code:

Ich habe ein ListIconGadget mit Dateiname.

Auf mein List möchte ich mit Rechtsmausklick mein Menü ausrufen:

Code: Alles auswählen

If CreatePopupMenu(#popupmenu)
  MenuItem(1, "Ändern")
  MenuItem(2, "Löschen")
  MenuBar()
  OpenSubMenu("Öffnen mit")
    ;MenuItem(3, "???")
    ;MenuItem(4, "???")
    ; ???
  CloseSubMenu()
EndIf
Als Submenü (wo ??? steht) möchte alle passende Programme für den Dateityp haben.
Win-10, PB 5.31 (Windows - x86)
Antworten