petit souçi rencontré avec la fonction SHGetSpecialFolderLocation sous win
98 ...
il semble que certaines constantes de cette fonction ne soient pas
supportées ???!
comme par exemple CSIDL_PROGRAM_FILES ?
je précise que pour m'en assurer, j'ai démarré un nouveau projet dans VB
sous win98, dans lequel j'ai collé l'exemple de API-Guide, et quelques
constantes dont j'aurais eu besoin :
Private Type SHITEMID
cb As Long
abID As Byte
End Type
Private Type ITEMIDLIST
mkid As SHITEMID
End Type
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal
hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias
"SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Public Function GetSpecialfolder(CSIDL As Long) As String
Dim r As Long
Dim IDL As ITEMIDLIST
'Get the special folder
r = SHGetSpecialFolderLocation(100, CSIDL, IDL)
If r = NOERROR Then
'Create a buffer
Path$ = Space$(MAX_PATH )
'Get the path from the IDList
r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$)
'Remove the unnecessary chr$(0)'s
GetSpecialfolder = Left$(Path, InStr(Path, Chr$(0)) - 1)
Exit Function
End If
GetSpecialfolder = ""
End Function
Private Sub Form_Load()
MsgBox GetSpecialfolder(CSIDL_PROGRAM_FILES)
End Sub
est ce normal ??
si oui, comment puis je faire pour récupérer les infos dont j'ai besoin ...
(emplacement de Program Files, de Fichiers Communs, etc ...
merci de votre attention
:-)
--
Adresse invalide
Merci de répondre sur le forum ...
http://scraper.chez.tiscali.fr
CSIDL_PROGRAM_FILES n'est supporté que depuis la version 5 du shell : CSIDL_PROGRAM_FILES (0x0026) Version 5.0. The Program Files folder. A typical path is C:Program Files.
Or, la version 5 de shell32 n'est pas distribuée, apparement, sous windows 98: Version 5.80 of Comctl32.dll and version 5.0 of Shlwapi.dll are distributed with Internet Explorer 5. They will be found on all systems on which Internet Explorer 5 is installed, except Windows 2000. Internet Explorer 5 does not update the Shell, so version 5.0 of Shell32.dll will not be found on Windows NT, Windows 95, or Windows 98 systems. Version 5.0 of Shell32.dll will be distributed with Windows 2000 and Windows Me, along with version 5.0 of Shlwapi.dll, and version 5.81 of Comctl32.dll.
Dans l'installeur fournit avec VB (P&D wizard), valeur est lue directement à partir du registre (HKLMSOFTWAREMicrosoftWindowsCurrentVersion)
-- Picalausa François "scraper" a écrit dans le message de news: %23FMIe%
bonsoir à tous
petit souçi rencontré avec la fonction SHGetSpecialFolderLocation sous win 98 ...
il semble que certaines constantes de cette fonction ne soient pas supportées ???!
comme par exemple CSIDL_PROGRAM_FILES ?
je précise que pour m'en assurer, j'ai démarré un nouveau projet dans VB sous win98, dans lequel j'ai collé l'exemple de API-Guide, et quelques constantes dont j'aurais eu besoin :
Private Type SHITEMID cb As Long abID As Byte End Type Private Type ITEMIDLIST mkid As SHITEMID End Type Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Public Function GetSpecialfolder(CSIDL As Long) As String Dim r As Long Dim IDL As ITEMIDLIST 'Get the special folder r = SHGetSpecialFolderLocation(100, CSIDL, IDL) If r = NOERROR Then 'Create a buffer Path$ = Space$(MAX_PATH ) 'Get the path from the IDList r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$) 'Remove the unnecessary chr$(0)'s GetSpecialfolder = Left$(Path, InStr(Path, Chr$(0)) - 1) Exit Function End If GetSpecialfolder = "" End Function
Private Sub Form_Load()
MsgBox GetSpecialfolder(CSIDL_PROGRAM_FILES)
End Sub
est ce normal ??
si oui, comment puis je faire pour récupérer les infos dont j'ai besoin ... (emplacement de Program Files, de Fichiers Communs, etc ...
merci de votre attention
:-)
--
Adresse invalide Merci de répondre sur le forum ... http://scraper.chez.tiscali.fr
scraper
Hello
CSIDL_PROGRAM_FILES n'est supporté que depuis la version 5 du shell :
CSIDL_PROGRAM_FILES (0x0026)
Version 5.0. The Program Files folder. A typical path is C:Program Files.
Or, la version 5 de shell32 n'est pas distribuée, apparement, sous windows
98:
Version 5.80 of Comctl32.dll and version 5.0 of Shlwapi.dll are distributed
with Internet Explorer 5. They will be found on all systems on which
Internet Explorer 5 is installed, except Windows 2000. Internet Explorer 5
does not update the Shell, so version 5.0 of Shell32.dll will not be found
on Windows NT, Windows 95, or Windows 98 systems. Version 5.0 of Shell32.dll
will be distributed with Windows 2000 and Windows Me, along with version 5.0
of Shlwapi.dll, and version 5.81 of Comctl32.dll.
Dans l'installeur fournit avec VB (P&D wizard), valeur est lue directement à
partir du registre (HKLMSOFTWAREMicrosoftWindowsCurrentVersion)
--
Picalausa François
"scraper" <scraper@pasdespam.fr> a écrit dans le message de news:
%23FMIe%23KhFHA.2840@tk2msftngp13.phx.gbl...
bonsoir à tous
petit souçi rencontré avec la fonction SHGetSpecialFolderLocation sous win
98 ...
il semble que certaines constantes de cette fonction ne soient pas
supportées ???!
comme par exemple CSIDL_PROGRAM_FILES ?
je précise que pour m'en assurer, j'ai démarré un nouveau projet dans VB
sous win98, dans lequel j'ai collé l'exemple de API-Guide, et quelques
constantes dont j'aurais eu besoin :
Private Type SHITEMID
cb As Long
abID As Byte
End Type
Private Type ITEMIDLIST
mkid As SHITEMID
End Type
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll"
(ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As
Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias
"SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As
Long
Public Function GetSpecialfolder(CSIDL As Long) As String
Dim r As Long
Dim IDL As ITEMIDLIST
'Get the special folder
r = SHGetSpecialFolderLocation(100, CSIDL, IDL)
If r = NOERROR Then
'Create a buffer
Path$ = Space$(MAX_PATH )
'Get the path from the IDList
r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$)
'Remove the unnecessary chr$(0)'s
GetSpecialfolder = Left$(Path, InStr(Path, Chr$(0)) - 1)
Exit Function
End If
GetSpecialfolder = ""
End Function
Private Sub Form_Load()
MsgBox GetSpecialfolder(CSIDL_PROGRAM_FILES)
End Sub
est ce normal ??
si oui, comment puis je faire pour récupérer les infos dont j'ai besoin
... (emplacement de Program Files, de Fichiers Communs, etc ...
merci de votre attention
:-)
--
Adresse invalide
Merci de répondre sur le forum ...
http://scraper.chez.tiscali.fr
CSIDL_PROGRAM_FILES n'est supporté que depuis la version 5 du shell : CSIDL_PROGRAM_FILES (0x0026) Version 5.0. The Program Files folder. A typical path is C:Program Files.
Or, la version 5 de shell32 n'est pas distribuée, apparement, sous windows 98: Version 5.80 of Comctl32.dll and version 5.0 of Shlwapi.dll are distributed with Internet Explorer 5. They will be found on all systems on which Internet Explorer 5 is installed, except Windows 2000. Internet Explorer 5 does not update the Shell, so version 5.0 of Shell32.dll will not be found on Windows NT, Windows 95, or Windows 98 systems. Version 5.0 of Shell32.dll will be distributed with Windows 2000 and Windows Me, along with version 5.0 of Shlwapi.dll, and version 5.81 of Comctl32.dll.
Dans l'installeur fournit avec VB (P&D wizard), valeur est lue directement à partir du registre (HKLMSOFTWAREMicrosoftWindowsCurrentVersion)
-- Picalausa François "scraper" a écrit dans le message de news: %23FMIe%
bonsoir à tous
petit souçi rencontré avec la fonction SHGetSpecialFolderLocation sous win 98 ...
il semble que certaines constantes de cette fonction ne soient pas supportées ???!
comme par exemple CSIDL_PROGRAM_FILES ?
je précise que pour m'en assurer, j'ai démarré un nouveau projet dans VB sous win98, dans lequel j'ai collé l'exemple de API-Guide, et quelques constantes dont j'aurais eu besoin :
Private Type SHITEMID cb As Long abID As Byte End Type Private Type ITEMIDLIST mkid As SHITEMID End Type Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Public Function GetSpecialfolder(CSIDL As Long) As String Dim r As Long Dim IDL As ITEMIDLIST 'Get the special folder r = SHGetSpecialFolderLocation(100, CSIDL, IDL) If r = NOERROR Then 'Create a buffer Path$ = Space$(MAX_PATH ) 'Get the path from the IDList r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$) 'Remove the unnecessary chr$(0)'s GetSpecialfolder = Left$(Path, InStr(Path, Chr$(0)) - 1) Exit Function End If GetSpecialfolder = "" End Function
Private Sub Form_Load()
MsgBox GetSpecialfolder(CSIDL_PROGRAM_FILES)
End Sub
est ce normal ??
si oui, comment puis je faire pour récupérer les infos dont j'ai besoin ... (emplacement de Program Files, de Fichiers Communs, etc ...
merci de votre attention
:-)
--
Adresse invalide Merci de répondre sur le forum ... http://scraper.chez.tiscali.fr
scraper
scraper
Bonjour Picalausa François, dans le message news:% tu disais :
Hello
CSIDL_PROGRAM_FILES n'est supporté que depuis la version 5 du shell : CSIDL_PROGRAM_FILES (0x0026) Version 5.0. The Program Files folder. A typical path is C:Program Files. Or, la version 5 de shell32 n'est pas distribuée, apparement, sous windows 98: Version 5.80 of Comctl32.dll and version 5.0 of Shlwapi.dll are distributed with Internet Explorer 5. They will be found on all systems on which Internet Explorer 5 is installed, except Windows 2000. Internet Explorer 5 does not update the Shell, so version 5.0 of Shell32.dll will not be found on Windows NT, Windows 95, or Windows 98 systems. Version 5.0 of Shell32.dll will be distributed with Windows 2000 and Windows Me, along with version 5.0 of Shlwapi.dll, and version 5.81 of Comctl32.dll. Dans l'installeur fournit avec VB (P&D wizard), valeur est lue directement à partir du registre (HKLMSOFTWAREMicrosoftWindowsCurrentVersion)
merci à vous deux !
ce que tu expliques ci dessus correspond sensiblement à l'URL que m'a indiquée Fred
effectivement, en vérifiant, la version de shell32.dll est bien < 5 !
la question que je me pose donc :
dois je récupérer les infos dans le Registre ? ou dois je essayer d'updater ce fichier shell32.dll (risqué, non ?)
merci de vos avis :-)
--
Adresse invalide Merci de répondre sur le forum ... http://scraper.chez.tiscali.fr
scraper
Bonjour Picalausa François, dans le message
news:%23pR2rnLhFHA.2180@TK2MSFTNGP15.phx.gbl
tu disais :
Hello
CSIDL_PROGRAM_FILES n'est supporté que depuis la version 5 du shell :
CSIDL_PROGRAM_FILES (0x0026)
Version 5.0. The Program Files folder. A typical path is C:Program
Files.
Or, la version 5 de shell32 n'est pas distribuée, apparement, sous
windows 98:
Version 5.80 of Comctl32.dll and version 5.0 of Shlwapi.dll are
distributed with Internet Explorer 5. They will be found on all
systems on which Internet Explorer 5 is installed, except Windows
2000. Internet Explorer 5 does not update the Shell, so version 5.0
of Shell32.dll will not be found on Windows NT, Windows 95, or
Windows 98 systems. Version 5.0 of Shell32.dll will be distributed
with Windows 2000 and Windows Me, along with version 5.0 of
Shlwapi.dll, and version 5.81 of Comctl32.dll.
Dans l'installeur fournit avec VB (P&D wizard), valeur est lue
directement à partir du registre
(HKLMSOFTWAREMicrosoftWindowsCurrentVersion)
merci à vous deux !
ce que tu expliques ci dessus correspond sensiblement à l'URL que m'a
indiquée Fred
effectivement, en vérifiant, la version de shell32.dll est bien < 5 !
la question que je me pose donc :
dois je récupérer les infos dans le Registre ?
ou dois je essayer d'updater ce fichier shell32.dll (risqué, non ?)
merci de vos avis :-)
--
Adresse invalide
Merci de répondre sur le forum ...
http://scraper.chez.tiscali.fr
Bonjour Picalausa François, dans le message news:% tu disais :
Hello
CSIDL_PROGRAM_FILES n'est supporté que depuis la version 5 du shell : CSIDL_PROGRAM_FILES (0x0026) Version 5.0. The Program Files folder. A typical path is C:Program Files. Or, la version 5 de shell32 n'est pas distribuée, apparement, sous windows 98: Version 5.80 of Comctl32.dll and version 5.0 of Shlwapi.dll are distributed with Internet Explorer 5. They will be found on all systems on which Internet Explorer 5 is installed, except Windows 2000. Internet Explorer 5 does not update the Shell, so version 5.0 of Shell32.dll will not be found on Windows NT, Windows 95, or Windows 98 systems. Version 5.0 of Shell32.dll will be distributed with Windows 2000 and Windows Me, along with version 5.0 of Shlwapi.dll, and version 5.81 of Comctl32.dll. Dans l'installeur fournit avec VB (P&D wizard), valeur est lue directement à partir du registre (HKLMSOFTWAREMicrosoftWindowsCurrentVersion)
merci à vous deux !
ce que tu expliques ci dessus correspond sensiblement à l'URL que m'a indiquée Fred
effectivement, en vérifiant, la version de shell32.dll est bien < 5 !
la question que je me pose donc :
dois je récupérer les infos dans le Registre ? ou dois je essayer d'updater ce fichier shell32.dll (risqué, non ?)
merci de vos avis :-)
--
Adresse invalide Merci de répondre sur le forum ... http://scraper.chez.tiscali.fr
scraper
scraper
Bonjour Fred, dans le message news:OF7A% tu disais :
j'ai bien noté tout ça ... effectivement, pour le fichier shell32.dll, il est < 5 ... devrais je l'updater ?
sinon, je vais essayer de voir si je peux me débrouiller avec cette fonction, et les lectures dans le Registre
merci :-)
Fais un essai avec cette autre fonction. Je ne sais pas si j'interprète bien ce qui est écrit, mais il semble que cela passe aussi sur des systèmes plus anciens (avec SHFolder.dll dans ce cas). Et SHfolder.dll est redistribuable.
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Dans son message uD%23HPtLhFHA.3692@TK2MSFTNGP09.phx.gbl
scraper nous dit :
Bonjour Fred, dans le message
news:OF7A%23WLhFHA.3300@TK2MSFTNGP15.phx.gbl
tu disais :
Dans son message eLMpzNLhFHA.3340@TK2MSFTNGP10.phx.gbl
Fred nous dit :
j'ai bien noté tout ça ...
effectivement, pour le fichier shell32.dll, il est < 5 ...
devrais je l'updater ?
sinon, je vais essayer de voir si je peux me débrouiller avec cette
fonction, et les lectures dans le Registre
merci :-)
Fais un essai avec cette autre fonction. Je ne sais pas si j'interprète
bien ce qui est écrit, mais il semble que cela passe aussi sur des
systèmes plus anciens (avec SHFolder.dll dans ce cas). Et SHfolder.dll
est redistribuable.
j'ai bien noté tout ça ... effectivement, pour le fichier shell32.dll, il est < 5 ... devrais je l'updater ?
sinon, je vais essayer de voir si je peux me débrouiller avec cette fonction, et les lectures dans le Registre
merci :-)
Fais un essai avec cette autre fonction. Je ne sais pas si j'interprète bien ce qui est écrit, mais il semble que cela passe aussi sur des systèmes plus anciens (avec SHFolder.dll dans ce cas). Et SHfolder.dll est redistribuable.
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
scraper
Bonjour Fred, dans le message news:% tu disais :
sinon, je vais essayer de voir si je peux me débrouiller avec cette fonction, et les lectures dans le Registre
merci :-)
Fais un essai avec cette autre fonction. Je ne sais pas si j'interprète bien ce qui est écrit, mais il semble que cela passe aussi sur des systèmes plus anciens (avec SHFolder.dll dans ce cas). Et SHfolder.dll est redistribuable.
yep !
le problème (si j'ai bien survolé ? je vais voir plus en profondeur dans la soirée) est que certains CSIDL sont supportés, mais pas tous
faut aussi que je contrôle si ceux dont j'ai besoin sont sur la liste
je vois ça et je reviens
merci en tout cas
à+ :-)
--
Adresse invalide Merci de répondre sur le forum ... http://scraper.chez.tiscali.fr
scraper
Bonjour Fred, dans le message
news:%23KX8MxLhFHA.2560@TK2MSFTNGP10.phx.gbl
tu disais :
sinon, je vais essayer de voir si je peux me débrouiller avec cette
fonction, et les lectures dans le Registre
merci :-)
Fais un essai avec cette autre fonction. Je ne sais pas si
j'interprète bien ce qui est écrit, mais il semble que cela passe
aussi sur des systèmes plus anciens (avec SHFolder.dll dans ce cas).
Et SHfolder.dll est redistribuable.
yep !
le problème (si j'ai bien survolé ? je vais voir plus en profondeur dans la
soirée) est que certains CSIDL sont supportés, mais pas tous
faut aussi que je contrôle si ceux dont j'ai besoin sont sur la liste
je vois ça et je reviens
merci en tout cas
à+ :-)
--
Adresse invalide
Merci de répondre sur le forum ...
http://scraper.chez.tiscali.fr
sinon, je vais essayer de voir si je peux me débrouiller avec cette fonction, et les lectures dans le Registre
merci :-)
Fais un essai avec cette autre fonction. Je ne sais pas si j'interprète bien ce qui est écrit, mais il semble que cela passe aussi sur des systèmes plus anciens (avec SHFolder.dll dans ce cas). Et SHfolder.dll est redistribuable.
yep !
le problème (si j'ai bien survolé ? je vais voir plus en profondeur dans la soirée) est que certains CSIDL sont supportés, mais pas tous
faut aussi que je contrôle si ceux dont j'ai besoin sont sur la liste
je vois ça et je reviens
merci en tout cas
à+ :-)
--
Adresse invalide Merci de répondre sur le forum ... http://scraper.chez.tiscali.fr
scraper
scraper
Bonjour Fred, dans le message news:% tu disais :
Fais un essai avec cette autre fonction. Je ne sais pas si j'interprète bien ce qui est écrit, mais il semble que cela passe aussi sur des systèmes plus anciens (avec SHFolder.dll dans ce cas). Et SHfolder.dll est redistribuable.
c'est fait, et ça fonctionne ! par chance (pour une fois !) toutes les constantes dont j'avais besoin sont supportées par cette fonction quant à la dll Shfolder, elle est présente nativement sur win98, et sa version supporte cette fonction
donc, tout est bien ..
nickel, je te remercie :-)
--
Adresse invalide Merci de répondre sur le forum ... http://scraper.chez.tiscali.fr
scraper
Bonjour Fred, dans le message
news:%23KX8MxLhFHA.2560@TK2MSFTNGP10.phx.gbl
tu disais :
Fais un essai avec cette autre fonction. Je ne sais pas si
j'interprète bien ce qui est écrit, mais il semble que cela passe
aussi sur des systèmes plus anciens (avec SHFolder.dll dans ce cas).
Et SHfolder.dll est redistribuable.
c'est fait, et ça fonctionne !
par chance (pour une fois !) toutes les constantes dont j'avais besoin sont
supportées par cette fonction
quant à la dll Shfolder, elle est présente nativement sur win98, et sa
version supporte cette fonction
donc, tout est bien ..
nickel, je te remercie :-)
--
Adresse invalide
Merci de répondre sur le forum ...
http://scraper.chez.tiscali.fr
Fais un essai avec cette autre fonction. Je ne sais pas si j'interprète bien ce qui est écrit, mais il semble que cela passe aussi sur des systèmes plus anciens (avec SHFolder.dll dans ce cas). Et SHfolder.dll est redistribuable.
c'est fait, et ça fonctionne ! par chance (pour une fois !) toutes les constantes dont j'avais besoin sont supportées par cette fonction quant à la dll Shfolder, elle est présente nativement sur win98, et sa version supporte cette fonction
donc, tout est bien ..
nickel, je te remercie :-)
--
Adresse invalide Merci de répondre sur le forum ... http://scraper.chez.tiscali.fr