BOOL ProcessTheFile(HWND hWnd)
{
HANDLE hFile;
DWORD dwBytesRead, dwFileSize;
OpenFileName Ofn;
TCHAR szFile[MAX_PATH] = "\0";
char *lpBuf;
if (GetOpenFileName(&Ofn))
{
if ((hFile=CreateFile(Ofn.lpstrFile))==(HANDLE)-1)
{
MessageBox(hWnd, "File open failed." );
return FALSE;
}
dwFileSize = GetFileSize(hFile);
if (dwFileSize == 0xFFFFFFFF) // invalid size
{
MessageBox( NULL, "GetFileSize
failed!");
return FALSE;
}
lpBuf=(char*)GlobalAlloc(GMEM_FIXED,dwFileSize);
if (lpBuf == NULL)
{
MessageBox(NULL, "GlobalAlloc
failed!");
CloseHandle( hFile );
return FALSE;
}
ReadFile(hFile,lpBuf, dwFileSize, &dwBytesRead);
if (dwBytesRead == 0)
{
MessageBox(hWnd, "Zero bytes read." );
return FALSE;
}
DoSomething(lpBuf)
CloseHandle(hFile);
return TRUE;
}
else
return FALSE;
}