Je parierai que tu utilise la version ASCII (Ã moins que ce soit ANS I?) de l'API (CreateFileA)? Essaye avec la version Unicode pour voir (CreateFileW).
Je parierai que tu utilise la version ASCII (Ã moins que ce soit ANS I?)
de l'API (CreateFileA)? Essaye avec la version Unicode pour voir
(CreateFileW).
Je parierai que tu utilise la version ASCII (Ã moins que ce soit ANS I?) de l'API (CreateFileA)? Essaye avec la version Unicode pour voir (CreateFileW).
Vincent Guichard
Christian Hubert-Hugoud / weabow - Xtrem7 - Groobax
Exact. Merci de ta réponse.
Avec la version unicode, j'ai le même pb avec ce code :
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileW" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
J'ai essayé aussi en mettant : StrConv(FullFilePath, vbUnicode) & vbNullChar & vbNullChar : pas mieux
"Vincent Guichard" a écrit dans le message de news:4b1f7885$0$17515$ Christian Hubert-Hugoud / weabow - Xtrem7 - Groobax a écrit :
J'utilise l'api createfile pour mesurer la taille de fichiers (au-delà de 4 Go).
Lorsque le nom du fichier comprend un caractère Unicode (. ♪ i-concerts), alors l'api renvoie une erreur.
Comment faire pour qu'elle prenne les caractères Unicode ? (J'ai essayé avec StrConv mais cela ne donne rien.
Christian
Salut,
Je parierai que tu utilise la version ASCII (à moins que ce soit ANSI?) de l'API (CreateFileA)? Essaye avec la version Unicode pour voir (CreateFileW).
Vincent Guichard
Exact. Merci de ta réponse.
Avec la version unicode, j'ai le même pb avec ce code :
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileW" (ByVal
lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As
Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As
Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As
Long
J'ai essayé aussi en mettant : StrConv(FullFilePath, vbUnicode) & vbNullChar
& vbNullChar : pas mieux
"Vincent Guichard" <vg.bleuciel.sa@wanadoo.fr> a écrit dans le message de
news:4b1f7885$0$17515$ba4acef3@news.orange.fr...
Christian Hubert-Hugoud / weabow - Xtrem7 - Groobax a écrit :
J'utilise l'api createfile pour mesurer la taille de fichiers (au-delà de
4 Go).
Lorsque le nom du fichier comprend un caractère Unicode (. ♪ i-concerts),
alors l'api renvoie une erreur.
Comment faire pour qu'elle prenne les caractères Unicode ? (J'ai essayé
avec StrConv mais cela ne donne rien.
Christian
Salut,
Je parierai que tu utilise la version ASCII (à moins que ce soit ANSI?)
de l'API (CreateFileA)? Essaye avec la version Unicode pour voir
(CreateFileW).
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileW" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
J'ai essayé aussi en mettant : StrConv(FullFilePath, vbUnicode) & vbNullChar & vbNullChar : pas mieux
"Vincent Guichard" a écrit dans le message de news:4b1f7885$0$17515$ Christian Hubert-Hugoud / weabow - Xtrem7 - Groobax a écrit :
J'utilise l'api createfile pour mesurer la taille de fichiers (au-delà de 4 Go).
Lorsque le nom du fichier comprend un caractère Unicode (. ♪ i-concerts), alors l'api renvoie une erreur.
Comment faire pour qu'elle prenne les caractères Unicode ? (J'ai essayé avec StrConv mais cela ne donne rien.
Christian
Salut,
Je parierai que tu utilise la version ASCII (à moins que ce soit ANSI?) de l'API (CreateFileA)? Essaye avec la version Unicode pour voir (CreateFileW).
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileW" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVa l hTemplateFile As Long) As Long
Pour les fonctions Unicode (finissant par W), il ne faut pas passer les paramètres chaines 'As String' care Vb les transforme avant de les passer à l'API. Il faut utiliser 'As Long' et StrPtr() pour passer directement le pointeur de la chaine à l'API.
Essaie: Private Declare Function CreateFileW Lib "kernel32" ( _ ByVal lpFileName As Long, ByVal dwDesiredAccess As Long, _ ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, _ ByVal dwCreationDisposition As Long, _ ByVal dwFlagsAndAttributes As Long, _ ByVal hTemplateFile As Long) As Long
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileW"
(ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal
dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal
dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVa l
hTemplateFile As Long) As Long
Pour les fonctions Unicode (finissant par W), il ne faut pas passer les
paramètres chaines 'As String' care Vb les transforme avant de les
passer à l'API. Il faut utiliser 'As Long' et StrPtr() pour passer
directement le pointeur de la chaine à l'API.
Essaie:
Private Declare Function CreateFileW Lib "kernel32" ( _
ByVal lpFileName As Long, ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, _
ByVal dwCreationDisposition As Long, _
ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long) As Long
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileW" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVa l hTemplateFile As Long) As Long
Pour les fonctions Unicode (finissant par W), il ne faut pas passer les paramètres chaines 'As String' care Vb les transforme avant de les passer à l'API. Il faut utiliser 'As Long' et StrPtr() pour passer directement le pointeur de la chaine à l'API.
Essaie: Private Declare Function CreateFileW Lib "kernel32" ( _ ByVal lpFileName As Long, ByVal dwDesiredAccess As Long, _ ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, _ ByVal dwCreationDisposition As Long, _ ByVal dwFlagsAndAttributes As Long, _ ByVal hTemplateFile As Long) As Long
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileW" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Pour les fonctions Unicode (finissant par W), il ne faut pas passer les paramètres chaines 'As String' care Vb les transforme avant de les passer à l'API. Il faut utiliser 'As Long' et StrPtr() pour passer directement le pointeur de la chaine à l'API.
Essaie: Private Declare Function CreateFileW Lib "kernel32" ( _ ByVal lpFileName As Long, ByVal dwDesiredAccess As Long, _ ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, _ ByVal dwCreationDisposition As Long, _ ByVal dwFlagsAndAttributes As Long, _ ByVal hTemplateFile As Long) As Long
J'ai essayé : cela fonctionne bien avec les fichiers standards, mais pas
avec le fichier qui s'appelle :
. ♪ i-concerts.url
Christian
"Vincent Guichard" <vg.bleuciel.sa@wanadoo.fr> a écrit dans le message de
news:4b1fc386$0$934$ba4acef3@news.orange.fr...
Christian Hubert-Hugoud / weabow - Xtrem7 - Groobax a écrit :
Exact. Merci de ta réponse.
Avec la version unicode, j'ai le même pb avec ce code :
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileW"
(ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal
dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal
dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal
hTemplateFile As Long) As Long
Pour les fonctions Unicode (finissant par W), il ne faut pas passer les
paramètres chaines 'As String' care Vb les transforme avant de les
passer à l'API. Il faut utiliser 'As Long' et StrPtr() pour passer
directement le pointeur de la chaine à l'API.
Essaie:
Private Declare Function CreateFileW Lib "kernel32" ( _
ByVal lpFileName As Long, ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, _
ByVal dwCreationDisposition As Long, _
ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long) As Long
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileW" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Pour les fonctions Unicode (finissant par W), il ne faut pas passer les paramètres chaines 'As String' care Vb les transforme avant de les passer à l'API. Il faut utiliser 'As Long' et StrPtr() pour passer directement le pointeur de la chaine à l'API.
Essaie: Private Declare Function CreateFileW Lib "kernel32" ( _ ByVal lpFileName As Long, ByVal dwDesiredAccess As Long, _ ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, _ ByVal dwCreationDisposition As Long, _ ByVal dwFlagsAndAttributes As Long, _ ByVal hTemplateFile As Long) As Long