Take a webcam photo on login using Windows 7

How do I set up my webcam to capture an image on the sly each time my account (or any account) logs on? Is there some specific software that will do this?

I have a Logitech QuickCam Fusion cam and running Windows 7.


Solution 1:

Using AutoIt, this code will take the snapshot, just run it on startup (just use a shortcut unless you change the save path and use the include folder for the include file) Note that this will flash any LED on the camera on for a half second while it takes the snapshot, there isn't a way around that:

#include <GUIConstants.au3>
#include <Webcam.au3>

$gui = GUICreate("Webcam UDF Test",640,480)
_WebcamInit()
_Webcam($gui,640,480,0,0)
GUISetState(@SW_HIDE)
Sleep(100)
ConsoleWrite("Taking snapshot ..." & @CRLF)
_WebcamSnapShot()
ConsoleWrite("Snapshot taken !" & @CRLF)

While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then
        _WebcamStop()
        Exit
    EndIf
    Sleep(10)
    _WebcamStop()
    Exit
WEnd

You will need to get the Webcam.au3 include file from here. Put it in the same directory as the script or into the autoit include folder. I borrowed the code from that site and modded it for your needs. The file will appear in the same folder as the script (you can change that via the Webcam.au3 file if needed).

EDIT: you will also need to add this line to the top of Webcam.au3:

#include <WindowsConstants.au3>

EDIT2: The line you will change for the path in Webcam.au3 if you want to specify it is:

$snapfile = @ScriptDir & "\snapshot.bmp"

to something like:

$snapfile = "C:\snapshot\snapshot.bmp"

or if you want date and time of pic:

$snapfile = "C:\snapshot\" & @YEAR & "-" & @MON & "-" & @MDAY & "_" & @HOUR & "-" & @MIN & "-" & @SEC & ".bmp"

Solution 2:

I have just built a small program called qpic.

The only requirements are .Net Framework 3.5.

Simply extract to a folder anywhere, and, when it is launched, a half second later it will close and save a JPG picture in the folder it was launched from with the next sequential number.

Simply place a shortcut to this program in your startup folder , or HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run - and it should work without problems!

In order to see when someone logged on, simply take a look at the date/time of the picture.

All this aside, if your webcam has a light or similar that shows when it is active, there is no way to get around this as it is a hardware feature of the webcam... Unless you open it up and disconnect the LED/light!

(It is built off of a modified version of this project)

You can download here.