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);
}
}
"@

[Webcam]::Capture("C:\Fotos\foto1\.jpg")

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