popupmenu "Ouvrir avec"

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Marcel
Messages : 24
Inscription : jeu. 18/févr./2010 21:52
Localisation : Darmstadt - Allemagne

popupmenu "Ouvrir avec"

Message par Marcel »

Bonjour,

j'utilise des noms de fichier dans un ListIconGadget.
Je voudrai un menu "Ouvrir avec" dans un PopupMenu, de telle façon que les programmes présentés sont en fonction du type de fichier (comme avec Windows):

Code : Tout sélectionner

If CreatePopupMenu(#popupmenu)
  MenuItem(1, "Changer")
  MenuItem(2, "Effacer")
  MenuBar()
  OpenSubMenu("Ouvrir avec")
    ;MenuItem(3, "???")
    ;MenuItem(4, "???")
    ; ???
  CloseSubMenu()
EndIf
Merci,
Marcel
Win 10 - PB 5.31 et 5.71
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: popupmenu "Ouvrir avec"

Message par Ar-S »

Bonjour Marcel, ce que tu cherches à faire est donc ce que propose windows par défaut en faisant un clic droit sur un fichier.
Il te faut donc, comme lui, modifier le registre à cette adresse :

Code : Tout sélectionner

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
Dans les sous dossiers présents, tu auras toutes les extensions de fichiers reconnues par ton OS, i l faut donc que ton programmes modifie la bonne sous clé et son contenue. Perso je ne suis pas sûr que windows n'entre pas d'autres infos ailleurs donc il serait plus judicieux que tu te cantonnes à utiliser l'option PROGRAMME PAR DEFAUT dans ton panneaux de config.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: popupmenu "Ouvrir avec"

Message par GallyHC »

Bonjour,

Une autre solution est de laisser windows faire ce qu'il connait avec :

Code : Tout sélectionner

RunProgram("rundll32.exe", "shell32.dll,OpenAs_RunDLL " + sfilenames, #NULL$)
"sfilenames" étant la localisation du fichier.

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Marcel
Messages : 24
Inscription : jeu. 18/févr./2010 21:52
Localisation : Darmstadt - Allemagne

Re: popupmenu "Ouvrir avec"

Message par Marcel »

Bonjour et merci pour ces deux solutions.
ce que tu cherches à faire est donc ce que propose windows par défaut en faisant un clic droit sur un fichier
en plus avec des menu - voir

Code : Tout sélectionner

  OpenSubMenu("Ouvrir avec")
    ;MenuItem(3, "???")
Avec rundll32.exe comment puis-je avoir le même effet?

Merci,
Marcel
Win 10 - PB 5.31 et 5.71
Répondre