Il se trouve que c'est la DLL SHLWAPI.DLL qui fait planter Win98 SE. L'un de
mes clients a fait de multiples tests et c'est ce fichier qui est en cause.
Mon client après l'installation copie dans répertoire system SON fichier
SHLWAPI.DLL et ça marche !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ng
Salut,
Essai cette sub que j'avais ecrit pour une autre question :
Public Function Split34(ByVal sCh As String) As String() Dim i As Integer, GuillemetOuvert As Boolean Dim sCar As String * 1, sArgEnCours As String Dim nInd As Integer, tblArg() As String sCh = sCh & " " For i = 1 To Len(sCh) sCar = Mid$(sCh, i, 1) If sCar = """" Then GuillemetOuvert = Not GuillemetOuvert Else If sCar = " " And Not GuillemetOuvert Then If EstTableauVide(tblArg) Then nInd = 0 ReDim tblArg(0) Else nInd = UBound(tblArg) + 1 ReDim Preserve tblArg(nInd) End If tblArg(nInd) = sArgEnCours sArgEnCours = "" Else sArgEnCours = sArgEnCours & sCar End If End If Next Split34 = tblArg End Function Public Function EstTableauVide(tblTest() As String) As Boolean On Error GoTo errFin Dim sTest As Integer sTest = UBound(tblTest) EstTableauVide = False Exit Function errFin:: EstTableauVide = True End Function
elle permet de récupérer les différents arguments en tenant compte des guillemets
ou sinon :
dim Cmd as string Cmd = Replace(Trim$(Command$), Chr$(34), "", , , vbTextCompare)
Je pense qu'il n'est absolument pas utile d'utiliser une DLL pour cela...
Nicolas.
"Alain MENARD" a écrit dans le message de news: 3f1475a9$0$25195$
Salut à tous,
Il y a quelques temps, je vous avais demandé comment enlever les
guillemets
de l'objet COMMAND.
Pierre m'avait répondu ceci :
Private Declare Sub PathUnquoteSpaces Lib "shlwapi.dll" Alias _ "PathUnquoteSpacesA" (ByVal lpsz As String)
Private Const MAX_PATH = 260
Public Function PathRemoveQuotes(ByRef Path As String)
Ya t'il une solution sans cette DLL pour enlever les guillemets ?
Ou alors comment savoir si mon fichier SHLWAPI.DLL aurait une mauvaise version ?
--
Amicalement
Alain MENARD
Pour me joindre :
Salut,
Essai cette sub que j'avais ecrit pour une autre question :
Public Function Split34(ByVal sCh As String) As String()
Dim i As Integer, GuillemetOuvert As Boolean
Dim sCar As String * 1, sArgEnCours As String
Dim nInd As Integer, tblArg() As String
sCh = sCh & " "
For i = 1 To Len(sCh)
sCar = Mid$(sCh, i, 1)
If sCar = """" Then
GuillemetOuvert = Not GuillemetOuvert
Else
If sCar = " " And Not GuillemetOuvert Then
If EstTableauVide(tblArg) Then
nInd = 0
ReDim tblArg(0)
Else
nInd = UBound(tblArg) + 1
ReDim Preserve tblArg(nInd)
End If
tblArg(nInd) = sArgEnCours
sArgEnCours = ""
Else
sArgEnCours = sArgEnCours & sCar
End If
End If
Next
Split34 = tblArg
End Function
Public Function EstTableauVide(tblTest() As String) As Boolean
On Error GoTo errFin
Dim sTest As Integer
sTest = UBound(tblTest)
EstTableauVide = False
Exit Function
errFin::
EstTableauVide = True
End Function
elle permet de récupérer les différents arguments en tenant compte des
guillemets
ou sinon :
dim Cmd as string
Cmd = Replace(Trim$(Command$), Chr$(34), "", , , vbTextCompare)
Je pense qu'il n'est absolument pas utile d'utiliser une DLL pour cela...
Nicolas.
"Alain MENARD" <philatelix@free.fr> a écrit dans le message de news:
3f1475a9$0$25195$626a54ce@news.free.fr...
Salut à tous,
Il y a quelques temps, je vous avais demandé comment enlever les
guillemets
de l'objet COMMAND.
Pierre m'avait répondu ceci :
Private Declare Sub PathUnquoteSpaces Lib "shlwapi.dll" Alias _
"PathUnquoteSpacesA" (ByVal lpsz As String)
Private Const MAX_PATH = 260
Public Function PathRemoveQuotes(ByRef Path As String)
Essai cette sub que j'avais ecrit pour une autre question :
Public Function Split34(ByVal sCh As String) As String() Dim i As Integer, GuillemetOuvert As Boolean Dim sCar As String * 1, sArgEnCours As String Dim nInd As Integer, tblArg() As String sCh = sCh & " " For i = 1 To Len(sCh) sCar = Mid$(sCh, i, 1) If sCar = """" Then GuillemetOuvert = Not GuillemetOuvert Else If sCar = " " And Not GuillemetOuvert Then If EstTableauVide(tblArg) Then nInd = 0 ReDim tblArg(0) Else nInd = UBound(tblArg) + 1 ReDim Preserve tblArg(nInd) End If tblArg(nInd) = sArgEnCours sArgEnCours = "" Else sArgEnCours = sArgEnCours & sCar End If End If Next Split34 = tblArg End Function Public Function EstTableauVide(tblTest() As String) As Boolean On Error GoTo errFin Dim sTest As Integer sTest = UBound(tblTest) EstTableauVide = False Exit Function errFin:: EstTableauVide = True End Function
elle permet de récupérer les différents arguments en tenant compte des guillemets
ou sinon :
dim Cmd as string Cmd = Replace(Trim$(Command$), Chr$(34), "", , , vbTextCompare)
Je pense qu'il n'est absolument pas utile d'utiliser une DLL pour cela...
Nicolas.
"Alain MENARD" a écrit dans le message de news: 3f1475a9$0$25195$
Salut à tous,
Il y a quelques temps, je vous avais demandé comment enlever les
guillemets
de l'objet COMMAND.
Pierre m'avait répondu ceci :
Private Declare Sub PathUnquoteSpaces Lib "shlwapi.dll" Alias _ "PathUnquoteSpacesA" (ByVal lpsz As String)
Private Const MAX_PATH = 260
Public Function PathRemoveQuotes(ByRef Path As String)
Ya t'il une solution sans cette DLL pour enlever les guillemets ?
Ou alors comment savoir si mon fichier SHLWAPI.DLL aurait une mauvaise version ?
--
Amicalement
Alain MENARD
Pour me joindre :
François Picalausa
Bonjour/soir,
Le fichier shlwapi.dll est un fichier système qu'il ne faut pas remplacer...
En version 4.70.0.115, il se trouvait dans Windows 95
La version minimale requise est cependant la 4.71, présente sous NT: Windows 2000, Windows NT 4.0 with Internet Explorer 4.0 et plus 9x: Windows 98, Windows 95 with Internet Explorer 4.0 et plus
Donc, il faudraitafficher une message box disant à l'utilisateur que le programme ne tournera pas si la version (APIs GetFileVersionInfo etVer QueryValue) est inférieure à la 4.70 (possible sous win 95 et NT4) et de demander l'installation d'IE 4 ou plus.
Il se trouve que c'est la DLL SHLWAPI.DLL qui fait planter Win98 SE. L'un de mes clients a fait de multiples tests et c'est ce fichier qui est en cause.
Mon client après l'installation copie dans répertoire system SON fichier SHLWAPI.DLL et ça marche !
Ya t'il une solution sans cette DLL pour enlever les guillemets ?
Ou alors comment savoir si mon fichier SHLWAPI.DLL aurait une mauvaise version ?
Bonjour/soir,
Le fichier shlwapi.dll est un fichier système qu'il ne faut pas remplacer...
En version 4.70.0.115, il se trouvait dans Windows 95
La version minimale requise est cependant la 4.71, présente sous
NT: Windows 2000, Windows NT 4.0 with Internet Explorer 4.0 et plus
9x: Windows 98, Windows 95 with Internet Explorer 4.0 et plus
Donc, il faudraitafficher une message box disant à l'utilisateur que le
programme ne tournera pas si la version (APIs GetFileVersionInfo etVer
QueryValue) est inférieure à la 4.70 (possible sous win 95 et NT4) et de
demander l'installation d'IE 4 ou plus.
Il se trouve que c'est la DLL SHLWAPI.DLL qui fait planter Win98 SE.
L'un de mes clients a fait de multiples tests et c'est ce fichier qui
est en cause.
Mon client après l'installation copie dans répertoire system SON
fichier SHLWAPI.DLL et ça marche !
Le fichier shlwapi.dll est un fichier système qu'il ne faut pas remplacer...
En version 4.70.0.115, il se trouvait dans Windows 95
La version minimale requise est cependant la 4.71, présente sous NT: Windows 2000, Windows NT 4.0 with Internet Explorer 4.0 et plus 9x: Windows 98, Windows 95 with Internet Explorer 4.0 et plus
Donc, il faudraitafficher une message box disant à l'utilisateur que le programme ne tournera pas si la version (APIs GetFileVersionInfo etVer QueryValue) est inférieure à la 4.70 (possible sous win 95 et NT4) et de demander l'installation d'IE 4 ou plus.
Il se trouve que c'est la DLL SHLWAPI.DLL qui fait planter Win98 SE. L'un de mes clients a fait de multiples tests et c'est ce fichier qui est en cause.
Mon client après l'installation copie dans répertoire system SON fichier SHLWAPI.DLL et ça marche !
Ya t'il une solution sans cette DLL pour enlever les guillemets ?
Ou alors comment savoir si mon fichier SHLWAPI.DLL aurait une mauvaise version ?
Alain MENARD
Salut ng et François,
Une panne Internet m'a empêché de lire les news aujourd'hui.
Merci pour vos réponses à tous deux. Content que le problème soit résolu.
--
Amicalement
Alain MENARD
Pour me joindre :
"François Picalausa" a écrit dans le message de news:
Bonjour/soir,
Le fichier shlwapi.dll est un fichier système qu'il ne faut pas
remplacer...
En version 4.70.0.115, il se trouvait dans Windows 95
La version minimale requise est cependant la 4.71, présente sous NT: Windows 2000, Windows NT 4.0 with Internet Explorer 4.0 et plus 9x: Windows 98, Windows 95 with Internet Explorer 4.0 et plus
Donc, il faudraitafficher une message box disant à l'utilisateur que le programme ne tournera pas si la version (APIs GetFileVersionInfo etVer QueryValue) est inférieure à la 4.70 (possible sous win 95 et NT4) et de demander l'installation d'IE 4 ou plus.
Alain MENARD wrote: > Salut à tous, > > Il y a quelques temps, je vous avais demandé comment enlever les > guillemets de l'objet COMMAND. > > Pierre m'avait répondu ceci : > > Private Declare Sub PathUnquoteSpaces Lib "shlwapi.dll" Alias _ > "PathUnquoteSpacesA" (ByVal lpsz As String) > > Private Const MAX_PATH = 260 > > Public Function PathRemoveQuotes(ByRef Path As String) > > Dim sBuffer As String > > sBuffer = Path & String$(MAX_PATH - Len(Path), vbNullChar) > > Call PathUnquoteSpaces(sBuffer) > > PathRemoveQuotes = left$(sBuffer, InStr(sBuffer, vbNullChar) - 1) > > End Function > > > Il se trouve que c'est la DLL SHLWAPI.DLL qui fait planter Win98 SE. > L'un de mes clients a fait de multiples tests et c'est ce fichier qui > est en cause. > > Mon client après l'installation copie dans répertoire system SON > fichier SHLWAPI.DLL et ça marche ! > > Dans mon install je l'installe de cette façon. > > Source: "C:WINDOWSSYSTEMSHLWAPI.DLL"; DestDir: "{sys}"; Flags: > restartreplace sharedfile > > Alors ma question est la suivante : > > Ya t'il une solution sans cette DLL pour enlever les guillemets ? > > Ou alors comment savoir si mon fichier SHLWAPI.DLL aurait une mauvaise > version ?
Salut ng et François,
Une panne Internet m'a empêché de lire les news aujourd'hui.
Merci pour vos réponses à tous deux. Content que le problème soit résolu.
--
Amicalement
Alain MENARD
Pour me joindre : amenard@vision-tech.fr
"François Picalausa" <fpicalausa@chez.com> a écrit dans le message de
news:OyWgdf2SDHA.3132@tk2msftngp13.phx.gbl...
Bonjour/soir,
Le fichier shlwapi.dll est un fichier système qu'il ne faut pas
remplacer...
En version 4.70.0.115, il se trouvait dans Windows 95
La version minimale requise est cependant la 4.71, présente sous
NT: Windows 2000, Windows NT 4.0 with Internet Explorer 4.0 et plus
9x: Windows 98, Windows 95 with Internet Explorer 4.0 et plus
Donc, il faudraitafficher une message box disant à l'utilisateur que le
programme ne tournera pas si la version (APIs GetFileVersionInfo etVer
QueryValue) est inférieure à la 4.70 (possible sous win 95 et NT4) et de
demander l'installation d'IE 4 ou plus.
Alain MENARD wrote:
> Salut à tous,
>
> Il y a quelques temps, je vous avais demandé comment enlever les
> guillemets de l'objet COMMAND.
>
> Pierre m'avait répondu ceci :
>
> Private Declare Sub PathUnquoteSpaces Lib "shlwapi.dll" Alias _
> "PathUnquoteSpacesA" (ByVal lpsz As String)
>
> Private Const MAX_PATH = 260
>
> Public Function PathRemoveQuotes(ByRef Path As String)
>
> Dim sBuffer As String
>
> sBuffer = Path & String$(MAX_PATH - Len(Path), vbNullChar)
>
> Call PathUnquoteSpaces(sBuffer)
>
> PathRemoveQuotes = left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
>
> End Function
>
>
> Il se trouve que c'est la DLL SHLWAPI.DLL qui fait planter Win98 SE.
> L'un de mes clients a fait de multiples tests et c'est ce fichier qui
> est en cause.
>
> Mon client après l'installation copie dans répertoire system SON
> fichier SHLWAPI.DLL et ça marche !
>
> Dans mon install je l'installe de cette façon.
>
> Source: "C:WINDOWSSYSTEMSHLWAPI.DLL"; DestDir: "{sys}"; Flags:
> restartreplace sharedfile
>
> Alors ma question est la suivante :
>
> Ya t'il une solution sans cette DLL pour enlever les guillemets ?
>
> Ou alors comment savoir si mon fichier SHLWAPI.DLL aurait une mauvaise
> version ?
Une panne Internet m'a empêché de lire les news aujourd'hui.
Merci pour vos réponses à tous deux. Content que le problème soit résolu.
--
Amicalement
Alain MENARD
Pour me joindre :
"François Picalausa" a écrit dans le message de news:
Bonjour/soir,
Le fichier shlwapi.dll est un fichier système qu'il ne faut pas
remplacer...
En version 4.70.0.115, il se trouvait dans Windows 95
La version minimale requise est cependant la 4.71, présente sous NT: Windows 2000, Windows NT 4.0 with Internet Explorer 4.0 et plus 9x: Windows 98, Windows 95 with Internet Explorer 4.0 et plus
Donc, il faudraitafficher une message box disant à l'utilisateur que le programme ne tournera pas si la version (APIs GetFileVersionInfo etVer QueryValue) est inférieure à la 4.70 (possible sous win 95 et NT4) et de demander l'installation d'IE 4 ou plus.
Alain MENARD wrote: > Salut à tous, > > Il y a quelques temps, je vous avais demandé comment enlever les > guillemets de l'objet COMMAND. > > Pierre m'avait répondu ceci : > > Private Declare Sub PathUnquoteSpaces Lib "shlwapi.dll" Alias _ > "PathUnquoteSpacesA" (ByVal lpsz As String) > > Private Const MAX_PATH = 260 > > Public Function PathRemoveQuotes(ByRef Path As String) > > Dim sBuffer As String > > sBuffer = Path & String$(MAX_PATH - Len(Path), vbNullChar) > > Call PathUnquoteSpaces(sBuffer) > > PathRemoveQuotes = left$(sBuffer, InStr(sBuffer, vbNullChar) - 1) > > End Function > > > Il se trouve que c'est la DLL SHLWAPI.DLL qui fait planter Win98 SE. > L'un de mes clients a fait de multiples tests et c'est ce fichier qui > est en cause. > > Mon client après l'installation copie dans répertoire system SON > fichier SHLWAPI.DLL et ça marche ! > > Dans mon install je l'installe de cette façon. > > Source: "C:WINDOWSSYSTEMSHLWAPI.DLL"; DestDir: "{sys}"; Flags: > restartreplace sharedfile > > Alors ma question est la suivante : > > Ya t'il une solution sans cette DLL pour enlever les guillemets ? > > Ou alors comment savoir si mon fichier SHLWAPI.DLL aurait une mauvaise > version ?