#include "l_bitmap.h"
L_LTSCR_API L_INT L_CaptureWindow(pBitmap, uBitmapStructSize, hWnd, wctCaptureType, pCaptureInfo, uInfoStructSize, pfnCaptureCallback, pUserData)
pBITMAPHANDLE pBitmap; |
pointer to the bitmap handle |
L_UINT uBitmapStructSize; |
size, in bytes, of the structure |
L_HWND hWnd; |
window handle |
WINDOWCAPTURETYPE wctCaptureType; |
flag |
pLEADCAPTUREINFO pCaptureInfo; |
pointer to info structure |
L_UINT uInfoStructSize; |
size, in bytes, of the structure |
CAPTURECALLBACK pfnCaptureCallback; |
optional callback function |
L_VOID * pUserData; |
pointer to more parameters for the callback |
Captures an image of a window handle.
| Parameter | Description | |
| pBitmap | Pointer to a bitmap handle that references the captured data. | |
| uBitmapStructSize | Value that represents the size, in bytes, of the structure pointed to by pBitmap parameter, for versioning. Use sizeof (BITMAPHANDLE). | |
| hWnd | Handle of the window to capture. | |
| wctCaptureType | Flag that indicates the capture type. Possible values are: | |
| Value | Meaning | |
| CAPTURE_CLIENT_AREA | [0x01] Captures the client area of the window. | |
| CAPTURE_WINDOW | [0x02] Capture the complete window. | |
| pCaptureInfo | Pointer to the LEADCAPTUREINFO structure to be updated with information regarding the captured image's source. Pass NULL if you are not interested in extra information about the capture. | |
| uInfoStructSize | Value that represents the size, in bytes, of the structure pointed to by pCaptureInfo parameter, for versioning. Use sizeof(LEADCAPTUREINFO). | |
| pfnCaptureCallback |
Optional callback function for additional processing.
If you do not provide a callback function, pass NULL as the value of this parameter. If you do provide a callback function, pass 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 ;*. 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. |
|
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
The callback can be used to do multiple captures, depending on the options set using L_SetCaptureOption function.
The hot key needs to be pressed to complete the capture.
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. |
Functions: |
L_SetCaptureOption, L_SetCaptureOptionDlg, CAPTURECALLBACK, L_StopCapture |
Topics: |
|
|
#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileNamestatic L_INT EXT_CALLBACK pfnCaptureCallback(pBITMAPHANDLE pBitmap, pLEADCAPTUREINFO pCaptureInfo, L_VOID* pUserData){UNREFERENCED_PARAMETER(pCaptureInfo);UNREFERENCED_PARAMETER(pUserData);/* save the captured image */return (L_SaveBitmap (MAKE_IMAGE_PATH(TEXT("test.bmp")), pBitmap, FILE_BMP, 0, 0, NULL));}L_INT CaptureWindowExample (L_VOID){BITMAPHANDLE Bitmap;LEADCAPTUREINFO CaptureInfo;/* Get the window handle */HWND hWnd = GetForegroundWindow();/*To call the L_CaptureWindow*/L_INT nRet = L_CaptureWindow(&Bitmap,sizeof(BITMAPHANDLE), hWnd, CAPTURE_WINDOW, &CaptureInfo, sizeof(LEADCAPTUREINFO),pfnCaptureCallback, NULL);L_FreeBitmap(&Bitmap);return nRet;}