Click here to Skip to main content
15,893,594 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: CreateProcess Method Pin
Michael Dunn16-Mar-06 5:15
sitebuilderMichael Dunn16-Mar-06 5:15 
AnswerRe: CreateProcess Method Pin
Chris Gao16-Mar-06 9:26
Chris Gao16-Mar-06 9:26 
AnswerRe: CreateProcess Method Pin
Stephen Hewitt16-Mar-06 12:04
Stephen Hewitt16-Mar-06 12:04 
GeneralRe: CreateProcess Method Pin
Chris Gao16-Mar-06 15:34
Chris Gao16-Mar-06 15:34 
GeneralRe: CreateProcess Method Pin
Subramaniam s.V.16-Mar-06 17:35
Subramaniam s.V.16-Mar-06 17:35 
GeneralRe: CreateProcess Method Pin
Subramaniam s.V.16-Mar-06 17:48
Subramaniam s.V.16-Mar-06 17:48 
Questionfaster method of bitmap reading Pin
_tasleem16-Mar-06 1:22
_tasleem16-Mar-06 1:22 
AnswerRe: faster method of bitmap reading Pin
Remco Hoogenboezem16-Mar-06 4:03
Remco Hoogenboezem16-Mar-06 4:03 
Hmm the fastest way to load files into memory that I know if is by using memory mapped files. Map the entire file into your process address space. I assume that you are using a bitmap file format?? You could do something like this:

HANDLE hFile;
HANDLE hFileMappingObject;
BYTE * lpBaseAddress;

BITMAPFILEHEADER * lpBitmapFileHeader;
BITMAPINFOHEADER * lpBitmapInfoHeader;
RGBQUAD * lpRGBQuad;
BYTE * lpColorIndexArray;

if(OpenDialog1->Execute())
{
hFile=CreateFile(OpenDialog1->FileName.c_str(),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);

if(hFile==INVALID_HANDLE_VALUE)
{
MessageBox(Handle,"Could not open file","Error",MB_OK|MB_ICONERROR);
return;
}

hFileMappingObject=CreateFileMapping(hFile,NULL,PAGE_READWRITE|SEC_COMMIT,0,0,NULL);

if(hFileMappingObject==NULL)
{
MessageBox(Handle,"Could not create file mapping object","Error",MB_OK|MB_ICONERROR);
CloseHandle(hFile);
return;
}

lpBaseAddress=(BYTE*)MapViewOfFile(hFileMappingObject,FILE_MAP_WRITE,0,0,0);

if(lpBaseAddress==NULL)
{
MessageBox(Handle,"Could not map view of file","Error",MB_OK|MB_ICONERROR);
CloseHandle(hFileMappingObject);
CloseHandle(hFile);
return;
}

lpBitmapFileHeader=(BITMAPFILEHEADER*)&lpBaseAddress[0];
lpBitmapInfoHeader=(BITMAPINFOHEADER*)&lpBaseAddress[sizeof(BITMAPFILEHEADER)];
lpRGBQuad=(RGBQUAD*)&lpBaseAddress[sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)];
lpColorIndexArray=&lpBaseAddress[lpBitmapFileHeader->bfOffBits];

//Use lpColorIndexArray to acces your RGB values

UnmapViewOfFile(lpBaseAddress);
CloseHandle(hFileMappingObject);
CloseHandle(hFile);
}
QuestionDisable the close button Pin
Aryan S16-Mar-06 0:59
Aryan S16-Mar-06 0:59 
AnswerRe: Disable the close button Pin
Nibu babu thomas16-Mar-06 1:22
Nibu babu thomas16-Mar-06 1:22 
AnswerRe: Disable the close button Pin
Karim Mribti16-Mar-06 1:26
Karim Mribti16-Mar-06 1:26 
QuestionExcel Automation in vc++ Pin
ledallam16-Mar-06 0:54
ledallam16-Mar-06 0:54 
AnswerRe: Excel Automation in vc++ Pin
Waldermort16-Mar-06 2:27
Waldermort16-Mar-06 2:27 
QuestionQuestion ... Pin
HakunaMatada15-Mar-06 23:27
HakunaMatada15-Mar-06 23:27 
AnswerRe: Question ... Pin
toxcct15-Mar-06 23:36
toxcct15-Mar-06 23:36 
GeneralRe: Question ... Pin
HakunaMatada15-Mar-06 23:59
HakunaMatada15-Mar-06 23:59 
GeneralRe: Question ... Pin
Eytukan16-Mar-06 1:50
Eytukan16-Mar-06 1:50 
AnswerRe: Question ... Pin
Nibu babu thomas15-Mar-06 23:37
Nibu babu thomas15-Mar-06 23:37 
GeneralRe: Question ... Pin
HakunaMatada16-Mar-06 0:08
HakunaMatada16-Mar-06 0:08 
AnswerRe: Question ... Pin
Naveen15-Mar-06 23:39
Naveen15-Mar-06 23:39 
GeneralRe: Question ... Pin
HakunaMatada16-Mar-06 0:09
HakunaMatada16-Mar-06 0:09 
Questionadding controls in onpaint Pin
Tarek Jabri15-Mar-06 23:03
Tarek Jabri15-Mar-06 23:03 
AnswerRe: adding controls in onpaint Pin
Cedric Moonen15-Mar-06 23:09
Cedric Moonen15-Mar-06 23:09 
AnswerRe: adding controls in onpaint Pin
Hamid_RT15-Mar-06 23:19
Hamid_RT15-Mar-06 23:19 
GeneralRe: adding controls in onpaint Pin
Tarek Jabri15-Mar-06 23:38
Tarek Jabri15-Mar-06 23:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.