1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
   |  
DWORD dwFileSize, dwBytesRead;
LPBYTE lpBuffer;
 
HANDLE hFile = CreateFile(Chemin_Fichier_Text.c_str(),
                                   GENERIC_READ,
                                   0,
                                   NULL,
                                   OPEN_EXISTING,
                                   FILE_ATTRIBUTE_NORMAL,
                                   NULL);
if(INVALID_HANDLE_VALUE != hFile)
{
    dwFileSize = GetFileSize(hFile, NULL);
    lpBuffer = new BYTE[dwFileSize];
    if(ReadFile(hFile, lpBuffer, dwFileSize, &dwBytesRead, NULL) != FALSE)
    {
       HANDLE hResource = BeginUpdateResource(Application->ExeName.c_str(), FALSE);
       if(NULL != hResource)
       {
          if(IS_INTRESOURCE((WORD)"UserTransl") && IS_INTRESOURCE((WORD)RT_RCDATA))
          {
              if(UpdateResource(hResource,
                                 RT_RCDATA,
                                 MAKEINTRESOURCE((WORD)"UserTransl"),
                                 MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),
                                 (LPVOID) lpBuffer,dwFileSize)!= FALSE)
              {
                  if(EndUpdateResource(hResource, FALSE) != FALSE)
                        ShowMessage("Update succed!");
              }
           }
       }
    }
    delete [] lpBuffer;
    CloseHandle(hFile);
} | 
Partager