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.
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
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:
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"
I have just built a small program called
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)
There are several ways to this.
After you have a working script, you'll need to create a shortcut for it (or the executable) in the StartMenu's Startup folder of the intended user (or "All Users" if the snapshot should be take from all users).
Visual Basic 6 apparently has libraries for controlling webcams.
This page has source code for a Visual Basic app that will start capture from a webcam, close the cam, and offers video formatting options.
I'd imaging VBScript offers this sort of thing as well, which would probably be easier to run on system startup.