static void Jimmy_ImagesSavedFullScreen(Args _args)
{
/**
Useing X++ code saved as full Screen Resolution Image
wrote by Jimmy on Nov. 29th 2010
*/
Image img = new Image();
fileName fileName;
int screenWidth,screenHeight;
#WINAPI
;
//img.captureWindow(element.Hwnd());//must be on a form
img.saveType(ImageSaveType::BMP);//保存BMP格式的图片比较清晰
screenWidth = WinAPI::getSystemMetrics(#SM_CXSCREEN);
screenHeight = WinAPI::getSystemMetrics(#SM_CYSCREEN);
img.captureScreen(0, 0, screenWidth, screenHeight);//setup the image width and height for full screen Resolution
fileName = Strfmt("%1\\%2.%3",
WinAPI::getFolderPath(#CSIDL_Personal),
"captureScreen" ,
queryValue(img.saveType())
);
img.saveImage(fileName);
img.loadFile(fileName);
info(strfmt("Image Path: %1 \n Screen Resolution : %2 × %3",fileName,screenWidth,screenHeight));//printer the image infomation
WinAPI::shellExecute(fileName);//open the image
}
/*
other parameters:
SM_CXSCREEN = 0 ‘ Width of screen
SM_CYSCREEN = 1 ‘ Height of screen
SM_CXFULLSCREEN = 16 ‘ Width of window client area
SM_CYFULLSCREEN = 17 ‘ Height of window client area
SM_CYMENU = 15 ‘ Height of menu
SM_CYCAPTION = 4 ‘ Height of caption or title
SM_CXFRAME = 32 ‘ Width of window frame
SM_CYFRAME = 33 ‘ Height of window frame
SM_CXHSCROLL = 21 ‘ Width of arrow bitmap on
‘ horizontal scroll bar
SM_CYHSCROLL = 3 ‘ Height of arrow bitmap on
‘ horizontal scroll bar
SM_CXVSCROLL = 2 ‘ Width of arrow bitmap on
‘ vertical scroll bar
SM_CYVSCROLL = 20 ‘ Height of arrow bitmap on
‘ vertical scroll bar
SM_CXSIZE = 30 ‘ Width of bitmaps in title bar
SM_CYSIZE = 31 ‘ Height of bitmaps in title bar
SM_CXCURSOR = 13 ‘ Width of cursor
SM_CYCURSOR = 14 ‘ Height of cursor
SM_CXBORDER = 5 ‘ Width of window frame that cannot
‘ be sized
SM_CYBORDER = 6 ‘ Height of window frame that cannot
‘ be sized
SM_CXDOUBLECLICK = 36 ‘ Width of rectangle around the
‘ location of the first click. The
‘ second click must occur in the
‘ same rectangular location.
SM_CYDOUBLECLICK = 37 ‘ Height of rectangle around the
‘ location of the first click. The
‘ second click must occur in the
‘ same rectangular location.
SM_CXDLGFRAME = 7 ‘ Width of dialog frame window
SM_CYDLGFRAME = 8 ‘ Height of dialog frame window
SM_CXICON = 11 ‘ Width of icon
SM_CYICON = 12 ‘ Height of icon
SM_CXICONSPACING = 38 ‘ Width of rectangles the system
‘ uses to position tiled icons
SM_CYICONSPACING = 39 ‘ Height of rectangles the system
‘ uses to position tiled icons
SM_CXMIN = 28 ‘ Minimum width of window
SM_CYMIN = 29 ‘ Minimum height of window
SM_CXMINTRACK = 34 ‘ Minimum tracking width of window
SM_CYMINTRACK = 35 ‘ Minimum tracking height of window
SM_CXHTHUMB = 10 ‘ Width of scroll box (thumb) on
‘ horizontal scroll bar
SM_CYVTHUMB = 9 ‘ Width of scroll box (thumb) on
‘ vertical scroll bar
SM_DBCSENABLED = 42 ‘ Returns a non-zero if the current
‘ Windows version uses double-byte
‘ characters, otherwise returns
‘ zero
SM_DEBUG = 22 ‘ Returns non-zero if the Windows
‘ version is a debugging version
SM_MENUDROPALIGNMENT = 40
‘ Alignment of pop-up menus. If zero,
‘ left side is aligned with
‘ corresponding left side of menu-
‘ bar item. If non-zero, left side
‘ is aligned with right side of
‘ corresponding menu bar item
SM_MOUSEPRESENT = 19 ‘ Non-zero if mouse hardware is
‘ installed
SM_PENWINDOWS = 41 ‘ Handle of Pen Windows dynamic link
‘ library if Pen Windows is
‘ installed
SM_SWAPBUTTON = 23 ‘ Non-zero if the left and right
‘ mouse buttons are swapped
*/