L_CaptureFromEXE
#include "l_bitmap.h"
L_INT L_CaptureFromEXE(pBitmap, uStructSize, pszFileName, nResType, pResID, bCaptureByIndex, clrBackGnd, pfnCaptureCallback, pUserData)
pBITMAPHANDLE pBitmap; |
/* pointer to the bitmap handle */ |
L_UINT uStructSize; |
/* size in bytes, of the structure pointed to by pBitmap */ |
/* filename to capture from */ | |
L_INT nResType; |
/* resource type to capture */ |
/* resource ID to be captured*/ | |
L_BOOL bCaptureByIndex; |
/* flag */ |
COLORREF clrBackGnd; |
/* background color to be used for icons.*/ |
CAPTURECALLBACK pfnCaptureCallback; |
/* optional callback function */ |
/* pointer to more parameters for the callback */ |
Captures an image from the specified resource stored in an EXE or DLL.
Parameter |
Description |
|
pBitmap |
Pointer to a bitmap handle that references the captured data. |
|
uStructSize |
Size in bytes, of the structure pointed to by pBitmap, for versioning. Use sizeof(BITMAPHANDLE). |
|
pszFileName |
Character string containing the name of the exe (or dll) from which the resource should be captured. |
|
nResType |
Specifies the type of resource to capture. Possible values are: |
|
|
Value |
Meaning |
|
RESTYPE_BITMAP |
Capture a bitmap resource |
|
RESTYPE_ICON |
Capture an icon resource |
|
RESTYPE_CURSOR |
Capture a cursor resource |
pResID |
Specifies the index of the resource to capture. You can use MAKEINDEX or MAKERESOURCEID macros to convert the resource ids to strings. |
|
bCaptureByIndex |
Flag of the requested resource. Possible values are: |
|
|
Value |
Meaning |
|
TRUE |
Indicates that pResID is the index position of the requested resource. |
|
FALSE |
Indicates that pResID is the resource ID of the requested resource. |
clrBackGnd |
Background color for icons. |
|
pfnCaptureCallback |
Optional callback function for additional processing. |
|
|
If you do not provide a callback function, use NULL as the value of this parameter. |
|
|
If you do provide a callback function, use the function pointer as the value of this parameter. |
|
|
The callback function must adhere to the function prototype described in CAPTURECALLBACK Function. |
|
pUserData |
Void pointer that you can use to pass one or more additional parameters that the callback function needs. |
|
|
To use this feature, assign a value to a variable or create a structure that contains as many fields as you need. Then, in this parameter, pass the address of the variable or structure, casting it to L_VOID L_FAR *. The callback function, which receives the address in its own pUserData parameter, can cast it to a pointer of the appropriate data type to access your variable or structure. |
|
|
If the additional parameters are not needed, you can pass NULL in this parameter. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
This function is similar to L_CaptureFromEXEDlg, but does not display a dialog box. It simply captures the resource identified by nResType and pResID, from pszFileName. The captured bitmap may or may not have a region, depending on the transparency information of the captured resource.
Use L_CaptureGetResCount to determine the number of resources in an executable.
Required DLLs and Libraries
LTSCR For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
See Also
Functions: |
L_CaptureFromEXEDlg, CAPTURECALLBACK, L_StopCapture, L_CaptureGetResCount |
Example
int MyMain()
{
BITMAPHANDLE Bitmap;
int nRet;
/*To call the L_CaptureFromExe*/
nRet = L_CaptureFromExe(
&Bitmap, sizeof(BITMAPHANDLE),
TEXT("annot32.exe"),
RESTYPE_ICON,
0,
TRUE,
RGB(255,192,192),
pfnCaptureCallback,
NULL
);
L_FreeBitmap(&Bitmap);
return 0;
}
L_INT L_EXPORT pfnCaptureCallback (pBITMAPHANDLE pBitmap, pLEADCAPTUREINFO pCaptureInfo, L_VOID L_FAR* pUserData)
{
/* save the captured image */
return( L_SaveBitmap(TEXT("d:\\temp\\test.bmp"), pBitmap, FILE_BMP, 0, 0, NULL));
}