2
0

Moved Screens folder and always clean/restore before git pull

This commit is contained in:
bschaper 2025-02-03 11:36:10 -06:00
parent e4cae73dd7
commit 2276448d87
2 changed files with 23 additions and 21 deletions

View File

@ -5,20 +5,20 @@ using System.Runtime.InteropServices;
public class ScreenCapture {
[DllImport("user32.dll")]
public static extern IntPtr GetDC(IntPtr hwnd);
[DllImport("gdi32.dll")]
public static extern int GetDeviceCaps(IntPtr hdc, int nIndex);
[DllImport("user32.dll")]
public static extern int ReleaseDC(IntPtr hwnd, IntPtr hdc);
public static int GetScreenWidth() {
IntPtr desktop = GetDC(IntPtr.Zero);
int width = GetDeviceCaps(desktop, 118);
ReleaseDC(IntPtr.Zero, desktop);
return width;
}
public static int GetScreenHeight() {
IntPtr desktop = GetDC(IntPtr.Zero);
int height = GetDeviceCaps(desktop, 117);
@ -33,36 +33,37 @@ Add-Type -AssemblyName System.Drawing
function Take-FullScreenshot {
# Create directory if it doesn't exist
$dirPath = "C:\Scripts\Screens"
$dirPath = "C:\Screens"
if (-not (Test-Path $dirPath)) {
New-Item -ItemType Directory -Path $dirPath -Force | Out-Null
Set-ItemProperty -Path $dirPath -Name Attributes -Value "Hidden"
}
# Clean up any existing screenshots in the directory
Get-ChildItem -Path $dirPath -Filter "*.png" | Remove-Item -Force
# Get timestamp and set output path
$timestamp = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
$outputPath = Join-Path $dirPath "screen_$timestamp.png"
# Get actual screen resolution
$width = [ScreenCapture]::GetScreenWidth()
$height = [ScreenCapture]::GetScreenHeight()
$bitmap = New-Object System.Drawing.Bitmap($width, $height)
$graphics = [System.Drawing.Graphics]::FromImage($bitmap)
# Set high quality
$graphics.InterpolationMode = [System.Drawing.Drawing2D.InterpolationMode]::HighQualityBicubic
$graphics.PixelOffsetMode = [System.Drawing.Drawing2D.PixelOffsetMode]::HighQuality
$graphics.SmoothingMode = [System.Drawing.Drawing2D.SmoothingMode]::HighQuality
# Capture screen
$graphics.CopyFromScreen(0, 0, 0, 0, $bitmap.Size)
# Save screenshot
$bitmap.Save($outputPath, [System.Drawing.Imaging.ImageFormat]::Png)
$graphics.Dispose()
$bitmap.Dispose()
}
@ -72,4 +73,4 @@ while ($true) {
Take-FullScreenshot
# Wait 5 minutes
Start-Sleep -Seconds 300
}
}

View File

@ -4,15 +4,16 @@ cd "C:\Scripts"
# Add exception handling for the git pull command
git config --global --add safe.directory C:/Scripts
# Clean and restore repository state
git clean -fd
git restore .
# Execute the git pull command
git pull
# Optional: Check the exit code of the git pull command
$LASTEXITCODE
# Optional: Display a message based on the exit code
# Check and report the result
if ($LASTEXITCODE -eq 0) {
Write-Host "git pull successful."
Write-Host "Repository successfully updated."
} else {
Write-Host "git pull failed."
}
Write-Host "Repository update failed."
}