목차
- 윈도우 10 키보드 키 이벤트 발생 대기 스크립트 작성 예제 이전 포스팅 참고 학습
- 윈도우 10 실시간 마우스 커서 위치 x, y 좌표 출력 예제 이전 포스팅 참고 학습
- 윈도우 10 화면 캡쳐 스크립트 작성 예제 이전 포스팅 참고 학습
- 윈도우 10 키보드 누름 이벤트 대기 및 K 버튼 누름시 메세지 출력 예제
- 윈도우 10 특정 키 입력시 현재 화면 캡쳐하여 파일로 저장 예제
윈도우 10 키보드 키 이벤트 발생 대기 스크립트 작성 예제 이전 포스팅 참고 학습
우리는 이전 포스팅에서 PowerShell을 통해 윈도우 10에서 특정 키보드 키 이벤트를 감지하고 적절한 동작을 수행하는 스크립트를 작성하는 방법을 배웠습니다. 이를 활용하여 사용자의 입력에 반응하고 자동화된 동작을 실행하는 스크립트를 작성할 수 있습니다.
해당 내용이 궁금하시다면 아래의 이전 포스팅 링크를 참고해주세요.
2023.08.25 - [Window] - [Window] 윈도우 10 키보드 누름 이벤트 확인하기 예제(Powershell)
윈도우 10 실시간 마우스 커서 위치 x, y 좌표 출력 예제 이전 포스팅 참고 학습
지난 포스팅에서, PowerShell을 활용하여 윈도우 10에서 마우스 커서의 위치를 실시간으로 감지하고 이를 x, y 좌표로 출력하는 방법을 알아보았습니다. 마우스의 움직임을 감지하고 화면 상의 위치 정보를 얻어오는 기능을 활용하여 스크립트를 작성할 수 있습니다.
마우스의 실시간 위치를 가지고 활용할 수 있는 기능이 무수히 많기때문에 궁금하시면 아래 링크를 참고해주세요.
2023.08.25 - [Window] - [Window] 윈도우 10 실시간 마우스 위치 x, y좌표 출력 스크립트 예제(Powershell)
윈도우 10 화면 캡쳐 스크립트 작성 예제 이전 포스팅 참고 학습
또한 이전 포스팅에서, PowerShell을 사용하여 윈도우 10 화면을 캡쳐하고 이미지 파일로 저장하는 방법을 알아보았습니다. PowerShell의 화면 캡쳐 기능을 이용하여 현재 화면의 내용을 고화질 이미지로 저장하는 스크립트를 만들 수 있습니다.
오늘 예제에서도 스크린샷 정보를 파일로 저장해야하기때문에 아래 링크를 확인해주세요.
2023.08.28 - [Window] - [Window] 윈도우 10 화면 캡쳐 스크립트 작성 예제(powershell)
윈도우 10 키보드 누름 이벤트 대기 및 K 버튼 누름시 메세지 출력 예제
아래는 PowerShell을 활용하여 특정 키 입력 이벤트를 감지하고, 해당 키가 눌렸을 때 메세지를 출력하는 예제입니다. 이를 활용하여 아래 예제에서는 키를 눌렀을 때 스크린샷을 파일로 저장하는 예제를 알아보도록하겠습니다.
Add-Type -TypeDefinition @'
using System;
using System.Runtime.InteropServices;
public class GlobalKeyListener {
[DllImport("user32.dll")]
public static extern short GetAsyncKeyState(int vKey);
public static bool IsKeyPressed(int vKey) {
return (GetAsyncKeyState(vKey) & 0x8000) != 0;
}
}
'@
while ($true) {
if ([GlobalKeyListener]::IsKeyPressed(75)) { # 75 corresponds to the 'K' key
Write-Host "You pressed the 'K' key."
}
Start-Sleep -Milliseconds 100
}
윈도우 10 특정 키 입력시 현재 화면 캡쳐하여 파일로 저장 예제
마지막으로, PowerShell을 사용하여 특정 키 입력을 감지하고, 해당 키가 입력되면 현재 화면을 캡쳐하여 이미지 파일로 저장하는 예제입니다. 항상 키보드 이벤트를 감지하고 있다가 특정 키가 눌렸을 때만 화면 정보를 저장합니다.
Add-Type -TypeDefinition @'
using System;
using System.Runtime.InteropServices;
public class GlobalKeyListener {
[DllImport("user32.dll")]
public static extern short GetAsyncKeyState(int vKey);
public static bool IsKeyPressed(int vKey) {
return (GetAsyncKeyState(vKey) & 0x8000) != 0;
}
}
'@
while ($true) {
if ([GlobalKeyListener]::IsKeyPressed(75)) { # 75 corresponds to the 'K' key
Write-Host "You pressed the 'K' key."
Add-Type -AssemblyName System.Drawing
# 현재 날짜와 시간을 이용한 파일 이름 생성
$timestamp = Get-Date -Format "yyyyMMddHHmmss"
$fileName = "C:\Users\wonseok\Documents\Screenshot_$timestamp.png"
# 화면 크기 가져오기
$screen = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds
$width = $screen.Width
$height = $screen.Height
# 비트맵 생성
$bitmap = New-Object System.Drawing.Bitmap $width, $height
# Graphics 객체 생성
$graphics = [System.Drawing.Graphics]::FromImage($bitmap)
# 화면 캡처
$graphics.CopyFromScreen(0, 0, 0, 0, $bitmap.Size)
# 파일로 저장
$bitmap.Save($fileName)
# 리소스 해제
$graphics.Dispose()
$bitmap.Dispose()
Write-Host "스크린샷이 $fileName 파일로 저장되었습니다."
}
Start-Sleep -Milliseconds 100
}