NsScreenshot plug-in: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
Line 73: | Line 73: | ||
== Important Notes == | == Important Notes == | ||
nsScreenshot always captures the full screen. | - nsScreenshot always captures the full screen. | ||
For capturing a specific window it will determine the rectangle | For capturing a specific window it will determine the rectangle | ||
occupied by that window and crop it out of the full screen picture, thus | occupied by that window and crop it out of the full screen picture, thus | ||
Line 79: | Line 79: | ||
that the window to be captured has to be visible and on top when capturing! | that the window to be captured has to be visible and on top when capturing! | ||
nsScreenshot was created after some discussion in [http://forums.winamp.com/showthread.php?s=&threadid=149561 this] forum thread. | - nsScreenshot was created after some discussion in [http://forums.winamp.com/showthread.php?s=&threadid=149561 this] forum thread. | ||
nsScreenshot is not currently compatible with Microsoft Windows NT 6.x platform Operating Systems. See this SO Question for more details: http://stackoverflow.com/questions/11259775/nsis-plugin-nsscreenshot-not-working-in-windows-nt-6-x | - nsScreenshot is not currently compatible with Microsoft Windows NT 6.x platform Operating Systems. See this SO Question for more details: http://stackoverflow.com/questions/11259775/nsis-plugin-nsscreenshot-not-working-in-windows-nt-6-x | ||
[[Category:Plugins]] | [[Category:Plugins]] |
Revision as of 10:11, 29 June 2012
Author: lzandman (talk, contrib) |
Links
NsScreenshot.zip (52 KB)
Description
nsScreenshot is a NSIS-plugin created by Leon Zandman that can create a screenshot and save it to a Windows bitmap (BMP) file.
Usage
It supports two types of screenshots:
- Full-screen capture
- Capture of a specific window (identified by its window handle)
To capture the full screen and save it to 'c:\fullscreen.bmp' use the following script:
; Put filename of screenshot onto stack Push "c:\fullscreen.bmp" ; Capture full screen nsScreenshot::Grab_FullScreen Pop $1 ; $1 contains "ok" if the screenshot was taken ; $1 contains "error" if something went wrong StrCmp $1 "ok" ok1 0 DetailPrint "nsScreenshot error" Goto next1 ok1: ; Get image dimensions from stack (only available when "ok") Pop $R1 Pop $R2 DetailPrint "nsScreenshot OK" DetailPrint "Dimensions: ($R1x$R2)" next1:
For capturing a specific window and saving it to 'c:\screenshot.bmp' use the following script:
; Put window handle of window to be captured ; onto stack. You can use FindWindow for this. ; We'll use the NSIS window in this example Push $HWNDPARENT ; Put filename of screenshot onto stack Push "c:\screenshot.bmp" ; Capture window nsScreenshot::Grab Pop $1 ; $1 contains "ok" if the screenshot was taken ; $1 contains "error" if something went wrong StrCmp $1 "ok" ok1 0 DetailPrint "nsScreenshot error" Goto next1 ok1: ; Get image dimensions from stack (only available when "ok") Pop $R1 Pop $R2 DetailPrint "nsScreenshot OK" DetailPrint "Dimensions: ($R1x$R2)" next1:
The distribution includes an example NSIS-script file that should be easy to understand.
Important Notes
- nsScreenshot always captures the full screen.
For capturing a specific window it will determine the rectangle occupied by that window and crop it out of the full screen picture, thus resulting in a screenshot of only that specific window. This means that the window to be captured has to be visible and on top when capturing!
- nsScreenshot was created after some discussion in this forum thread.
- nsScreenshot is not currently compatible with Microsoft Windows NT 6.x platform Operating Systems. See this SO Question for more details: http://stackoverflow.com/questions/11259775/nsis-plugin-nsscreenshot-not-working-in-windows-nt-6-x