Tire uma foto de webcam no login usando o Windows 7

6

Como configuro minha webcam para capturar uma imagem às escondidas toda vez que minha conta (ou qualquer conta) faz logon? Existe algum software específico que fará isso?

Eu tenho uma câmera Logitech QuickCam Fusion e estou executando o Windows 7.

    
por jerrygarciuh 17.07.2011 / 16:40

4 respostas

6

Usando AutoIt, este código irá tirar o instantâneo, basta executá-lo na inicialização (basta usar um atalho, a menos que você altere o caminho para salvar e use a pasta include para o arquivo include) Observe que isso irá piscar qualquer LED na câmera. por meio segundo enquanto tira o instantâneo, não há uma maneira de contornar isso:

#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

Você precisará obter o arquivo de inclusão do Webcam.au3 em aqui . Coloque-o no mesmo diretório que o script ou na pasta de inclusão autoit. Eu peguei o código emprestado daquele site e o modifiquei para as suas necessidades. O arquivo aparecerá na mesma pasta que o script (você pode alterar isso através do arquivo Webcam.au3, se necessário).

EDIT: você também precisará adicionar esta linha ao topo da Webcam.au3:

#include <WindowsConstants.au3>

EDIT2: A linha que você irá alterar para o caminho em Webcam.au3 se você quiser especificar é:

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

para algo como:

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

ou se você quiser data e hora da foto:

$snapfile = "C:\snapshot\" & @YEAR & "-" & @MON & "-" & @MDAY & "_" & @HOUR & "-" & @MIN & "-" & @SEC & ".bmp"
    
por 30.08.2011 / 22:08
5

Acabei de criar um pequeno programa chamado qpic .

Os únicos requisitos são .Net Framework 3.5 .

Basta extrair para uma pasta em qualquer lugar e, quando for lançado, meio segundo depois, ela será fechada e salvará uma imagem JPG na pasta em que foi lançada, com o próximo número seqüencial.

Basta colocar um atalho para este programa na sua pasta startup ou HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run - e isso deve funcionar sem problemas!

Para ver quando alguém logou, basta dar uma olhada na data / hora da foto.

Tudo isso de lado, se sua webcam tiver uma luz ou algo similar que mostra quando está ativa, não há como contornar isso, pois é um recurso de hardware da webcam ... A menos que você a abra e desconecte LED / luz!

(É construído a partir de uma versão modificada de este projeto )

Você pode fazer o download aqui .

    
por 30.08.2011 / 23:38
2

Existem várias maneiras para isso.

Pessoalmente, eu faria um script usando AutoIt (há um exemplo como tirar uma foto aqui ). AutoIt permite que você produza um executável a partir do script, se desejar.

Depois de ter um script de trabalho, você precisará criar um atalho para ele (ou o executável) na pasta StartMenu's Startup do usuário pretendido (ou "All Users" se o snapshot precisar ser obtido de todos os usuários) .

    
por 30.08.2011 / 21:57
1

O Visual Basic 6 aparentemente tem bibliotecas para controlar webcams.

Esta página tem código-fonte para um aplicativo do Visual Basic que iniciará a captura de uma webcam, fechar a cam e oferece opções de formatação de vídeo.

Eu imagino que o VBScript também oferece esse tipo de coisa, o que provavelmente seria mais fácil de executar na inicialização do sistema.

    
por 30.08.2011 / 21:43