Screeny!

Anyways, I created this progam to ‘review’ my knowledge in C#, since I’m starting to learn Managed DirectX. Anways, I started this for that reason and two more. One is that some kid who never bothered to reply back asked me how to do it, here, also, because I have had Wisdom-Soft’s ScreenHunter Free 4.0 for a while now and it’s great.

If you take a look at ScreenHunter, Screeny is practically identical to it plus a couple more features. I started this yesterday in the morning and I just finished today, I hope everything’s fine, if you encounter any problems/bugs please let me know. I named it Screeny for two reasons, one is that I’ve heard people call screenshots, well, screenies, and two is so that it’d go with the theme of this site, which is linked to from within Screeny.

Anyways, it’s pretty basic but I like it. After many hours of research on ways to take screenshots and retrieve a handle to the active window and all other types of nonsense, I got it working, and every feature I got working was motivation for the next. I hope you guys try it out at least. It requires the .Net Framework 2.0 , but I’m pretty sure you all should have it by now. It was more of a learning experience than anything, and ScreenHunter was already doing the job well anyways, but now this is my own customized one :)

Notes
The close button and minimize might lag a little, but that’s because of a Windows bug with Windows Themes, if you disable it, the problem should go away. Either way, you can use the Exit menu item under File, and for the minimize…well…just wait, it’s not like it takes hours to minimize. Once minimized, it should create an icon (NotifyIcon) in the system tray, you can right click this and see some options or double click on it to restore the window.

Features
-The following formats are supported: BMP, EMF, EXIF, GIF, ICON, JPEG, PNG, TIFF, WMF
-Timed capture feature, specify the seconds, and it’ll capture after the countdown.
-Intervaled capture feature, specify the interval, and it’ll take a screenshot every (time) (unit).
-Capture the Full Screen or the Active Window.
-Hotkey Support/Global Hooking, set the hotkey, and minimize the window and when you press the key, it’ll still take the picture.
-Automatic naming, don’t want to name each file? It’ll number the names, the numbers will be appended to your specified prefix.
-Fixed naming, yes, you could also manually specify a name.
-Saved folder, of course you could choose where to save your shots.
-Notification after a successful shot.

Pictures (How Ironic):

More Pictures

Download Screeny binaries

Download Screeny sources

3 Responses to “Screeny!”


  1. I downloaded this utility, but when im running it , there is an error. The same stuff happens when im debugging it in VS 2005.

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.Runtime.InteropServices.ExternalException: A generic error occurred in GDI+.
    at System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
    at System.Drawing.Image.Save(String filename, ImageFormat format)
    at Screeny.wndScreeny.ScreenShot()
    at Screeny.wndScreeny.btnCapture_Click(Object sender, EventArgs e)
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ButtonBase.WndProc(Message& m)
    at System.Windows.Forms.Button.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    —————————————-
    Screeny
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Documents%20and%20Settings/Дима/Рабочий%20стол/Screeny.exe
    —————————————-
    System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    —————————————-
    System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    —————————————-
    System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    —————————————-
    Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
    —————————————-

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

  2. Thanks for the information folow I appreciate it, but can you please tell me what you did to get this? For example, did you click a button and then it happened? Or was it the second you ran it? Or when? That would really help, but that’s a good thing that you pasted this information it’ll help a lot. I’ll try to fix it as soon as possible, if you could give me further information, thanks again.

  3. It looks like it happens when you click on ‘capture’ or take screenshot, what settings did you have when you did so? So, any default settings you changed, tell me about them. For example, what format were you capturing in, automatic naming? What was the prefix, things like that. That’ll help, thanks again.

Leave a Reply