Click here to Skip to main content
15,867,488 members
Articles / Programming Languages / Visual Basic

Screen Shot Application

Rate me:
Please Sign up or sign in to vote.
3.74/5 (69 votes)
24 Sep 2010CPOL5 min read 301.3K   18.6K   209   73
Screen Shot is a simple application that allows a user to quickly capture images from the screen and save them in a user predefined folder.

Introduction

Screen Shot has been created with Visual Basic .NET 2005 and since then has been upgraded to Visual Basic .NET 2008. The application is user friendly and easy to use. It allows users to capture still images from the screen and save them into a user predefined folder. I find it very useful with some music visualizations when I need to take screenshots.

Screen Shot Feature List

  1. Full screen image capture (all monitors)
  2. Object capture. The object can be a window, control, Windows shortcut menu, etc.
  3. Rectangle-area image capture from the screen
  4. Full web page image capture
  5. Clipboard image capture
  6. Active window image capture (with a hot key)
  7. User defined application hot keys
  8. All these captured images are (automatically or manually) saved into a user defined folder or clipboard
  9. All the capture methods mentioned above will capture transparent images from the screen
  10. JPG image quality setting
  11. Can save images in many image formats
  12. Can capture a screen image with the cursor included (optional)
  13. Easy menu access (optional)
  14. Plays sound when an image is captured (optional)
  15. Automatically notifies for application updates (optional)
  16. Starts automatically when the system starts (optional)
  17. Help (help file)

Screen Shot Main Menu

The main menu has five buttons, which I will explain in the order shown below. The menu is located on the top-center of the screen, and hides itself when it loses mouse focus.

Screenshot - Menu

Screenshot - Mode Button

Capture Mode

The first button is the Capture Mode button. In Screen Shot, to capture an image, the capture mode should be set first. The button is a split-dropdown button that has the following items:

Screenshot - Mode Menu

As you can guess from the above picture, the first dropdown item sets the "Full Screen" capture mode, the second sets the "Object" capture mode, and the third one sets the "Rectangle" area capture mode.

The fourth menu item is not for setting the capture mode, but for capturing the clipboard image. After selecting the desired capture mode, you will notice that the "Mode" button's image is changed to the menu item's image that was selected, indicating the current capture mode. See Screen Shot help for detailed instructions of how to set the capture mode or capture an image from the screen.

Screenshot - Full Screen Menu Item

The "Full Screen" dropdown menu item will set the capture mode to Full Screen by changing the "Mode" button's image. Clicking the "Mode" button once more will capture the image of the full screen (all monitors in one image) or you could use the "Capture Mode" hot key.

Screenshot - Object Menu Item

The "Object" dropdown menu item will set the capture mode to Object by changing the "Mode" button's image. Clicking the "Mode" button once more will start the capture of an object on the screen. The object can be a window, controls, the Desktop, shortcut menus, etc. When you capture the object and point the mouse to an object, you will see a red rectangle that is drawn around the object. You can capture the object within the red rectangle by simply clicking anywhere inside the red rectangle, or you could use the "Capture Mode" hot key.

Screenshot - Object Capture

Screenshot - Rectangle Menu Item

The "Rectangle" dropdown menu item will set the capture mode to Rectangle by changing the "Mode" button's image. Clicking the "Mode" button once more will place the rectangle and the "Tool Box" forms on the screen.

Screenshot - Rectangle Capture

Screenshot - Clipboard Menu Item

The last dropdown menu item is for capturing clipboard images. If the "Clipboard" menu item is enabled, clicking on it will get the clipboard image so that the user can save it into a file. Note that the clipboard should contain an actual image, not a path.

Screenshot - Clipboard Menu

Screenshot - Image Folder Button

Image Folder

The second button is the "Image Folder" button that opens the Screen Shot image folder in Windows Explorer.

Screenshot - Exit Button

Exit

The third button is the "Exit" button that will exit the application.

Screenshot - Options Button

Options

The fourth button opens the application's "Options" window. In here, you can set or create the image folder, whether you want to access the menu instantly by hovering the mouse at the top edge of the screen, specify if the capturing sound should be played when an image is captured, specify if the Screen Shot application should start when the system starts, specify the captured image file settings and properties, and finally, define the application hot keys, and many more.

Screenshot - Options Window

Screenshot - Help Button

Help

The fifth button is the "Help" dropdown button.

Screenshot - Help Menu

Background

The application is rewritten in VB.NET 2008, and uses some API functions to implement the still image captures. All of the capture methods use application-defined methods to capture images. For example, if you press the "Print Screen" keyboard key, Windows will capture the desktop image and place it on the clipboard, by default. However, when using this application, it will change this behavior and capture and save the image directly to the image folder. This also means that you will be able to capture transparent windows on the desktop, whereas Windows' default capture doesn't capture transparent windows as transparent.

Since this is an application and it is a big project that uses many of my own components and classes, I can't go into details. This project is an assembly of different classes that I made over a period of time. For example, it uses the Shape class to make the menu form's corners rounded, and another one of my components, WindowsHookLib, that hooks the mouse to help capture an object image. Of course I needed to provide some hot key support for the application, for this I used one of my other classes Hotkeys class which provides a complete hot key solution. As you can see, the project is huge, so I decided to include all the relevant source files in case of need. The most important class that allows capturing images is SCapture. This class is the base of this application, and you can find it in the source files. Almost all the classes are commented, so they should be self-explanatory.

System Requirements

  • Windows 98/2000/XP/Vista/Windows 7
  • Framework 3.5 SP1

Screen Shot Information

History

  • 30th June, 2007 -- Original version posted
  • 16th July, 2007 -- Article and downloads updated (version 3.0.3.0)
  • 28th June, 2008 -- Article and downloads updated (version 3.1.2.0)
  • 30th July, 2009 -- Article and downloads updated (version 3.1.3.6)
  • 23rd Sep, 2010 -- Article and downloads updated (version 3.1.5.2)

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) ZipEdTech
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionMy vote 0 Pin
Toni_s22-May-16 7:56
Toni_s22-May-16 7:56 
QuestionProblems with Compilation Pin
aspador30-Jan-16 17:51
aspador30-Jan-16 17:51 
QuestionSource code Zip Pin
gwittlock24-Sep-14 22:25
gwittlock24-Sep-14 22:25 
Suggestioncan't compile the source Pin
aspador28-Jan-14 12:01
aspador28-Jan-14 12:01 
GeneralMy vote of 4 Pin
hamidra2-Aug-13 6:27
hamidra2-Aug-13 6:27 
GeneralProfessional Designing Pin
Member 47759905-Jun-13 4:00
Member 47759905-Jun-13 4:00 
GeneralMy vote of 1 Pin
ReadonlyMan10-Jan-13 4:00
ReadonlyMan10-Jan-13 4:00 
GeneralMy vote of 2 Pin
User 602081313-Nov-12 0:30
User 602081313-Nov-12 0:30 
GeneralMy vote of 1 Pin
Member 820778418-Mar-12 4:48
Member 820778418-Mar-12 4:48 
GeneralMy vote of 5 Pin
Manoj Kumar Choubey23-Feb-12 21:51
professionalManoj Kumar Choubey23-Feb-12 21:51 
GeneralMy vote of 5 Pin
Dragon20189-Jan-12 21:11
Dragon20189-Jan-12 21:11 
QuestionHow to capture screen behind a form? Pin
ripsware26-Oct-11 21:52
ripsware26-Oct-11 21:52 
This is a great tool Smile | :) Thumbs Up | :thumbsup:
I have a question
How to capture screen behind a form without hiding that form?

Thanks
GeneralMy vote of 5 Pin
Anupama Roy21-Jan-11 4:29
Anupama Roy21-Jan-11 4:29 
GeneralMy vote of 1 Pin
Khanna Gaurav19-Oct-10 1:41
Khanna Gaurav19-Oct-10 1:41 
GeneralThis is FANTASTIC Pin
DeathPaladin7-Oct-10 5:35
DeathPaladin7-Oct-10 5:35 
GeneralJust want to say Pin
Arman Ghazanchyan26-Sep-10 8:01
Arman Ghazanchyan26-Sep-10 8:01 
GeneralMy vote of 1 Pin
bobfox25-Sep-10 10:28
professionalbobfox25-Sep-10 10:28 
AnswerProject file Pin
phi101025-Sep-10 6:02
phi101025-Sep-10 6:02 
GeneralNON WORKING Pin
lynn129-Aug-10 14:37
lynn129-Aug-10 14:37 
GeneralInvalid hook handle exception on Windows 7(32 bit) Pin
umeshdharmik26-May-10 2:31
umeshdharmik26-May-10 2:31 
GeneralFiles missing Pin
mungball993-Feb-10 8:33
mungball993-Feb-10 8:33 
GeneralMy vote of 1 Pin
Etter Frédéric2-Feb-10 14:58
Etter Frédéric2-Feb-10 14:58 
QuestionWindows 7 Update? Pin
Thomas Hauff1-Feb-10 7:04
Thomas Hauff1-Feb-10 7:04 
AnswerRe: Windows 7 Update? [modified] Pin
Arman Ghazanchyan1-Feb-10 19:54
Arman Ghazanchyan1-Feb-10 19:54 
GeneralRe: Windows 7 Update? Pin
Thomas Hauff2-Feb-10 3:01
Thomas Hauff2-Feb-10 3:01 

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.