Je le propose mis en forme, c'est quand même plus sympa que de se les essayer à la mimine !
Code : Tout sélectionner
;
; Accès aux dossiers spéciaux et divers au travers du registre Windows
;
; L'association clé du registre / dossier - programme est référencée en zone data à la fin du listing.
;
Enumeration
#Window_Main
#Gadget_ListIcon
EndEnumeration
;
;
;
WindowXSize = 640
WindowYSize = 480
Quit = #FALSE
If OpenWindow(0, 0, 0, WindowXSize, WindowYSize, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered, "Registry stuff")
AddKeyboardShortcut(#Window_Main, #PB_Shortcut_Escape, #PB_Shortcut_Escape)
If CreateGadgetList(WindowID())
ListIconGadget(#Gadget_ListIcon, 10, 10, WindowXSize - 20, WindowYSize - 20, "Definition", 416, #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect | #PB_ListIcon_HeaderDragDrop | #PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(#Gadget_ListIcon, 1, "Key", 200)
EndIf
Repeat
Read Definition.s
Read Key.s
If Definition = "EndData"
Quit = #TRUE
Else
AddGadgetItem(#Gadget_ListIcon, -1, LCase(Definition) + Chr(10) + Key)
While WindowEvent() : Wend
EndIf
Until Quit
Quit = #FALSE
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = #TRUE
Case #PB_Event_Menu
Select EventMenuID()
Case #PB_Shortcut_Escape
Quit = #TRUE
EndSelect
Case #PB_Event_Gadget
Select EventGadgetID()
Case #Gadget_ListIcon
Select EventType()
Case #PB_EventType_LeftDoubleClick
RunProgram(GetGadgetText(#Gadget_ListIcon))
EndSelect
EndSelect
EndSelect
Until Quit
CloseWindow(0)
EndIf
TerminateProcess_(GetCurrentProcess_(), 0)
End
DataSection
Data.s "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}", "Panneau de contrôle"
Data.s "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{D20EA4E1-3957-11d2-A40B-0C5020524152}", "Polices"
Data.s "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{D20EA4E1-3957-11d2-A40B-0C5020524153}", "Outils d'administration"
Data.s "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{2227A280-3AEA-1069-A2DE-08002B30309D}", "Imprimantes"
Data.s "::{e17d4fc0-5564-11d1-83f2-00a0c90dc849}", "Résultats de recherche"
Data.s "::{1f4de370-d627-11d1-ba4f-00a0c91eedba}", "Résultats de recherche - Ordinateurs"
Data.s "::{7007ACC7-3202-11D1-AAD2-00805FC1270E}", "Connexions réseau et accès à distance"
Data.s "::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}", "Tâches planifiées"
Data.s "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "Poste de travail"
Data.s "::{86747AC0-42A0-1069-A2E6-08002B30309D}", "Porte-documents"
Data.s "::{450D8FBA-AD25-11D0-98A8-0800361B1103}", "Dossier Mes Documents"
Data.s "EndData", "EndData"
EndDataSection
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.