Bonjour,
Je programme sur Windows Vista et C++ Builder 6.
Mon problème est que j'essaye d'ouvrir un fichier dont son nom est codé en unicode.
Si le nom d'un fichier n'est pas codé en unicode, j'utiliserai la méthode OpenFile() qui fonctionne très bien.
Mais, comme je travaille avec des fichiers en Unicode, je voudrai utiliser la fonction OpenFileW().
Pour l'instant, je n'ai trouvé que ce programme en Delphi :
Je ne sais pas du tout si ce programme fonctionne et, en plus, je ne connais pas du tout la programmation en delphi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function FileOpenW(const FileName: WideString; Mode: LongWord): Integer; const AccessMode: array[0..2] of LongWord = (GENERIC_READ,GENERIC_WRITE,GENERIC_READ or GENERIC_WRITE); ShareMode: array[0..4] of LongWord = (0,0,FILE_SHARE_READ,FILE_SHARE_WRITE,FILE_SHARE_READ or FILE_SHARE_WRITE); begin Result := -1; if ((Mode and 3) <= fmOpenReadWrite) and (((Mode and $F0) shr 4) <= fmShareDenyNone) then Result := Integer(CreateFileW(PWChar(FileName), AccessMode[Mode and 3],ShareMode[(Mode and $F0) shr 4], nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0)); end;
Si, par hasard, quelqu'un a déjà utilisé la fonction FileOpenW(), ça pourrait beaucoup m'aider.
Merci d'avance!
Dan
Partager