Bonjour
Je n'arrive pas a acceder a un fichier contennu dans un fichier zip. Systematiqument ce bout de code échoue.
Le message d'erreur me donne le chemin complet du fichier qui pose problème. Si je copie colle ce chemin dans l'exploratuer je peux ouvrir le fichier.
Le fichier zip est un fichier ressource que j'extrait dans le repertoire temporaire au lancement de l'application.
//Boucle de décompression des fichiers contennu dans le zip
//Ouverture du fichier dans le zip
strFichier = strTempPath;
strFichier += "Temp.zip\\IP Imprimantes.txt";
hSource = LZOpenFile( (LPSTR) strFichier.c_str(), &OpenStructure, OF_PROMPT);
Pouvez vous m'aider?
la fonction complete :
//---------------------------------------------------------------------------
//
// FUNCTION: Initialisation_Ressources(HWND hWnd = NULL)
//
// PURPOSE: Initilisation du fichier hoste pour l'application
//
// COMMENTS:
// Sauvegarde le fichier hoste si il n'existe pas et ajoute les IP des imprimantes
//
//
//
//---------------------------------------------------------------------------
BOOL Decompression_ZipFile(HWND hWnd)
{
string strTempPath, strFichierZip, strFichier;
char cTemp[MAX_PATH];
OFSTRUCT OpenStructure;
INT hSource, hDestination;
LONG Result;
//Récupération du chemin du répertoire temporaire
GetTempPath(MAX_PATH, cTemp);
strTempPath.assign(cTemp);
strFichier = strTempPath;
strFichier += "Flash\\";
CreateDirectory(strFichier.c_str(), NULL);
//Boucle de décompression des fichiers contennu dans le zip
//Ouverture du fichier dans le zip
strFichier = strTempPath;
strFichier += "Temp.zip\\IP Imprimantes.txt";
hSource = LZOpenFile( (LPSTR) strFichier.c_str(), &OpenStructure, OF_PROMPT);
Error_Msg(GetLastError(), "LZOpenFile() / Temp.zip\\IP Imprimantes.txt", __FILE__, __LINE__);
//Création du fichier de destiantion
strFichier = strTempPath;
strFichier += "Flash\\IP Imprimantes.txt";
hDestination = LZOpenFile( (LPSTR) strFichier.c_str(), &OpenStructure, OF_CREATE);
Error_Msg(GetLastError(), "LZOpenFile() / Flash\\IP Imprimantes.txt", __FILE__, __LINE__);
Result = LZCopy(hSource, hDestination);
Error_Msg(GetLastError(), "LZCopy() / IP Imprimantes.txt", __FILE__, __LINE__);
LZClose(hSource);
LZClose(hDestination);
return TRUE;
}