sous vista, quelqu'un peut me donner le contenu de la fenêtre de debug
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 4.3
;
; Explication du programme :
; Récupérer le nom, l'adresse et l'icône des dossiers spéciaux de windows
ProcedureDLL.s GetSpecialFolderLocation2(Valeur.l) ; Récupère l'adresse d'un dossier spécifique de Windows
Protected SpecialFolderLocation.s, Dossier_ID.l
If SHGetSpecialFolderLocation_(0, Valeur, @Dossier_ID) = 0
SpecialFolderLocation = Space(#MAX_PATH)
SHGetPathFromIDList_(Dossier_ID, @SpecialFolderLocation)
If SpecialFolderLocation
If Right(SpecialFolderLocation, 1) <> "\"
SpecialFolderLocation + "\"
EndIf
EndIf
EndIf
ProcedureReturn SpecialFolderLocation
EndProcedure
ProcedureDLL.s GetSpecialFolderName2(Valeur.l) ; Récupère le nom d'un dossier spécifique de Windows
Protected Dossier.SHFILEINFO, Dossier_ID.l
If SHGetSpecialFolderLocation_(0, Valeur, @Dossier_ID) = 0
SHGetFileInfo_(Dossier_ID, 0, @Dossier, SizeOf(SHFILEINFO), #SHGFI_PIDL | #SHGFI_DISPLAYNAME)
EndIf
ProcedureReturn PeekS(@Dossier\szDisplayName )
EndProcedure
ProcedureDLL.l GetSpecialFolderSmallIcon2(Valeur.l) ; Récupère l'icône 16*16 d'un dossier spécifique de Windows
Protected Dossier.SHFILEINFO, Dossier_ID.l, Icone
If SHGetSpecialFolderLocation_(0, Valeur, @Dossier_ID) = 0
SHGetFileInfo_(Dossier_ID, 0, @Dossier, SizeOf(SHFILEINFO), #SHGFI_ICON | #SHGFI_PIDL | #SHGFI_SMALLICON)
EndIf
ProcedureReturn Dossier\hIcon
EndProcedure
ProcedureDLL.l GetSpecialFolderLargeIcon2(Valeur.l) ; Récupère l'icône 32*32 d'un dossier spécifique de Windows
Protected Dossier.SHFILEINFO, Dossier_ID.l, Icone
If SHGetSpecialFolderLocation_(0, Valeur, @Dossier_ID) = 0
SHGetFileInfo_(Dossier_ID, 0, @Dossier, SizeOf(SHFILEINFO), #SHGFI_ICON | #SHGFI_PIDL | #SHGFI_LARGEICON)
EndIf
ProcedureReturn Dossier\hIcon
EndProcedure
;- Programme principal
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 800, 300, "Dossiers spéciaux", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0 Or CreateGadgetList(WindowID(0)) = 0
End
EndIf
; On crée un liste
ListIconGadget(1, 0, 0, 800, 200, "Valeur", 60, #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_FullRowSelect)
AddGadgetColumn(1, 1, "Nom", 150)
AddGadgetColumn(1, 2, "Adresse du dossier", 560)
; On liste tous les dossier systèmes récupérables
For n = 0 To 200
Nom.s = GetSpecialFolderName2(n) ; On récupère le nom du dossier
Adresse.s = GetSpecialFolderLocation2(n) ; On récupère l'adresse du dossier
If Nom
If Adresse = "" ; Affichage dans le debugger des dossiers
Debug RSet(Str(n), 2, "0") + " Pas de dossier, il s'agit de : " + Nom
Else
Debug RSet(Str(n), 2, "0") + " " + Adresse
EndIf
AddGadgetItem(1, -1, Str(n) + Chr(10) + Nom + Chr(10) + Adresse) ; On affiche
EndIf
Next
; On affiche l'icône du premier élément
SetGadgetState(1, 0) ; on sélectionne le premier élément
TextGadget(4, 5, 215, 200, 15, "Icône du dossier sélectionné :")
ImageGadget(2, 5, 235, 16, 16, GetSpecialFolderSmallIcon2(0)) ; en 16 * 16
ImageGadget(3, 50, 235, 32, 32, GetSpecialFolderLargeIcon2(0)) ; en 32 * 32
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget() ; Gadgets
Case 1
Select EventType()
Case #PB_EventType_Change
Position = GetGadgetState(1)
If Position >= 0
Valeur = Val(GetGadgetItemText(1, Position, 0))
SetGadgetState(2, GetSpecialFolderSmallIcon2(Valeur))
SetGadgetState(3, GetSpecialFolderLargeIcon2(Valeur))
EndIf
Case #PB_EventType_LeftDoubleClick
Position = GetGadgetState(1)
If Position >= 0
Debug GetGadgetItemText(1, Position, 2)
RunProgram("explorer.exe", "/e,/n," + Chr(34) + GetGadgetItemText(1, Position, 2) + Chr(34), "")
EndIf
EndSelect
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
End
; Voici la liste des valeurs obtenues sous Windows XP (Certaines valeurs n'ont pas de dossier sous d'autres version de Windows)
; 00 C:\Documents And Settings\Le Soldat Inconnu\Bureau\
; 01 Pas de dossier, il s'agit de : Internet Explorer
; 02 C:\Documents And Settings\Le Soldat Inconnu\Menu Démarrer\Programmes\
; 03 Pas de dossier, il s'agit de : Panneau de configuration
; 04 Pas de dossier, il s'agit de : Imprimantes et télécopieurs
; 05 C:\Documents And Settings\Le Soldat Inconnu\Mes Documents\
; 06 C:\Documents And Settings\Le Soldat Inconnu\Favoris\
; 07 C:\Documents And Settings\Le Soldat Inconnu\Menu Démarrer\Programmes\Démarrage\
; 08 C:\Documents And Settings\Le Soldat Inconnu\Recent\
; 09 C:\Documents And Settings\Le Soldat Inconnu\SendTo\
; 10 Pas de dossier, il s'agit de : Corbeille
; 11 C:\Documents And Settings\Le Soldat Inconnu\Menu Démarrer\
; 13 C:\Documents And Settings\Le Soldat Inconnu\Mes Documents\Ma musique\
; 16 C:\Documents And Settings\Le Soldat Inconnu\Bureau\
; 17 Pas de dossier, il s'agit de : Poste de travail
; 18 Pas de dossier, il s'agit de : Favoris réseau
; 19 C:\Documents And Settings\Le Soldat Inconnu\Voisinage réseau\
; 20 C:\WINDOWS\Fonts\
; 21 C:\Documents And Settings\Le Soldat Inconnu\Modèles\
; 22 C:\Documents And Settings\All Users\Menu Démarrer\
; 23 C:\Documents And Settings\All Users\Menu Démarrer\Programmes\
; 24 C:\Documents And Settings\All Users\Menu Démarrer\Programmes\Démarrage\
; 25 C:\Documents And Settings\All Users\Bureau\
; 26 C:\Documents And Settings\Le Soldat Inconnu\Application Data\
; 27 C:\Documents And Settings\Le Soldat Inconnu\Voisinage D'impression\
; 28 C:\Documents And Settings\Le Soldat Inconnu\Local Settings\Application Data\
; 31 C:\Documents And Settings\All Users\Favoris\
; 32 C:\Documents And Settings\Le Soldat Inconnu\Local Settings\Temporary Internet Files\
; 33 C:\Documents And Settings\Le Soldat Inconnu\Cookies\
; 34 C:\Documents And Settings\Le Soldat Inconnu\Local Settings\Historique\
; 35 C:\Documents And Settings\All Users\Application Data\
; 36 C:\WINDOWS\
; 37 C:\WINDOWS\system32\
; 38 C:\Program Files\
; 39 C:\Documents And Settings\Le Soldat Inconnu\Mes Documents\Mes images\
; 40 C:\Documents And Settings\Le Soldat Inconnu\
; 41 C:\WINDOWS\system32\
; 43 C:\Program Files\Fichiers communs\
; 45 C:\Documents And Settings\All Users\Modèles\
; 46 C:\Documents And Settings\All Users\Documents\
; 47 C:\Documents And Settings\All Users\Menu Démarrer\Programmes\Outils D'administration\
; 49 Pas de dossier, il s'agit de : Connexions réseau
; 54 C:\Documents And Settings\All Users\Documents\Mes images\
; 56 C:\WINDOWS\Resources\
; 59 C:\Documents And Settings\Le Soldat Inconnu\Local Settings\Application Data\Microsoft\CD Burning\
; 61 Pas de dossier, il s'agit de : Réseau
; Voici la liste des valeurs obtenues sous Windows 98
; 00 C:\WINDOWS\Bureau\
; 01 Pas de dossier, il s'agit de : Internet explorer
; 02 C:\WINDOWS\Menu Démarrer\Programmes\
; 03 Pas de dossier, il s'agit de : Panneau de configuration
; 04 Pas de dossier, il s'agit de : Imprimantes et télécopieurs
; 05 C:\Mes documents\
; 06 C:\WINDOWS\Favoris\
; 07 C:\WINDOWS\Menu Démarrer\Programmes\Démarrage\
; 08 C:\WINDOWS\Recent\
; 09 C:\WINDOWS\SendTo\
; 10 Pas de dossier, il s'agit de : Corbeille
; 11 Menu Démarrer C:\WINDOWS\Menu Démarrer\
; 16 C:\WINDOWS\Bureau\
; 17 Pas de dossier, il s'agit de : Poste de travail
; 18 Pas de dossier, il s'agit de : Favoris réseau
; 19 C:\WINDOWS\Voisinage réseau\
; 20 C:\WINDOWS\FONTS\
; 21 C:\WINDOWS\ShellNew\
; 26 C:\WINDOWS\Application Data\
; 27 C:\WINDOWS\PrintHood\
; 32 C:\WINDOWS\Temporary Internet Files\
; 33 C:\WINDOWS\Cookies\
; 34 C:\WINDOWS\Historique\