Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Captura de Fotos com o PowerShell

Público-Alvo: Usuários intermediários A captura de fotos é uma tarefa comum nos dias de hoje, seja para registrar momentos especiais ou para uso profissional. Neste artigo, vamos explorar como utilizar o PowerShell, uma poderosa ferramenta de automação do Windows, para capturar fotos de forma eficiente e personalizada.

Exemplos:

  1. Capturando uma única foto:
    
    Add-Type -TypeDefinition @"
    using System;
    using System.Runtime.InteropServices;

public class Webcam { [DllImport("avicap32.dll")] public static extern IntPtr capCreateCaptureWindowA(string lpszWindowName, int dwStyle, int x, int y, int nWidth, int nHeight, IntPtr hwndParent, int nID);

[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);

[DllImport("user32.dll")]
public static extern bool DestroyWindow(IntPtr hWnd);

public static void Capture(string outputFilePath)
{
    IntPtr hWnd = capCreateCaptureWindowA("Webcam", 0, 0, 0, 640, 480, IntPtr.Zero, 0);
    SendMessage(hWnd, 0x400, 0, 0);
    SendMessage(hWnd, 0x41E, 0, outputFilePath);
    DestroyWindow(hWnd);
}

} "@

Neste exemplo, utilizamos o PowerShell para criar uma janela de captura de webcam e salvar a foto capturada em um arquivo específico.

2. Capturando várias fotos em sequência:

Add-Type -TypeDefinition @" using System; using System.Runtime.InteropServices;

public class Webcam { [DllImport("avicap32.dll")] public static extern IntPtr capCreateCaptureWindowA(string lpszWindowName, int dwStyle, int x, int y, int nWidth, int nHeight, IntPtr hwndParent, int nID);

[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);

[DllImport("user32.dll")]
public static extern bool DestroyWindow(IntPtr hWnd);

public static void Capture(string outputFolderPath, int numberOfPhotos)
{
    IntPtr hWnd = capCreateCaptureWindowA("Webcam", 0, 0, 0, 640, 480, IntPtr.Zero, 0);

    for (int i = 0; i < numberOfPhotos; i++)
    {
        string outputFilePath = $"{outputFolderPath}\\foto{i + 1}.jpg";
        SendMessage(hWnd, 0x400, 0, 0);
        SendMessage(hWnd, 0x41E, 0, outputFilePath);
    }

    DestroyWindow(hWnd);
}

} "@

Webcam::Capture("C:\Fotos", 5)


Neste exemplo, utilizamos o PowerShell para capturar várias fotos em sequência e salvá-las em uma pasta específica.

A captura de fotos com o PowerShell pode ser uma ótima maneira de automatizar tarefas relacionadas à captura de imagens. Compartilhe este artigo com seus amigos que também estão interessados em aprender mais sobre o PowerShell e como utilizá-lo para capturar fotos de forma eficiente.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.