
131361
13.12.2017
Software für Bildschirmaufnahmen mit Ringspeicher
Hallo zusammen,
such eine Software, mit der ich meinen Bildschirmaufnehmen kann.
Das ist soweit nicht das Problem.
Allerdings soll die Aufnahme permanent durchlaufen, allerdings immer nur ein Zeitfenster von 2h.
Sind diese 2h Aufnahme erreicht, soll die Aufnahme von vorne wieder überschrieben werden (Ringspeicher).
Gibt es ein solches Tool?
such eine Software, mit der ich meinen Bildschirmaufnehmen kann.
Das ist soweit nicht das Problem.
Allerdings soll die Aufnahme permanent durchlaufen, allerdings immer nur ein Zeitfenster von 2h.
Sind diese 2h Aufnahme erreicht, soll die Aufnahme von vorne wieder überschrieben werden (Ringspeicher).
Gibt es ein solches Tool?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 358048
Url: https://administrator.de/forum/software-fuer-bildschirmaufnahmen-mit-ringspeicher-358048.html
Ausgedruckt am: 13.05.2025 um 23:05 Uhr
2 Kommentare
Neuester Kommentar

Schreib es dir doch einfach selbst 
https://stackoverflow.com/questions/362986/capture-the-screen-into-a-bit ...
Schleife die alle x Sekunden einen Screenshot schießt und gleichzeitig Bilder älter als 2 Stunden löscht, ist kein Hexenwerk.
Code für eine "einfache gehaltene" Console-App die dann mit 3 Parametern aufgerufen wird:
https://stackoverflow.com/questions/362986/capture-the-screen-into-a-bit ...
Schleife die alle x Sekunden einen Screenshot schießt und gleichzeitig Bilder älter als 2 Stunden löscht, ist kein Hexenwerk.
Code für eine "einfache gehaltene" Console-App die dann mit 3 Parametern aufgerufen wird:
ScreenRecordBuffer.exe 5 7200 "D:\Ringspeicher"
Parameter 1: Interval in Sekunden in dem die Bilder geschossen werdenParameter 2: Zeit in Sekunden wie lange die Bilder aufgehoben werdenParameter 3: Pfad wo die Bilder abgelegt werden
using System;
using System.Linq;
using System.Drawing;
using System.IO;
using System.Drawing.Imaging;
using System.Windows.Forms;
using System.Threading;
namespace ScreenRecordBuffer {
class Program {
static void Main(string args) {
if (args.Length != 3) {
helpexit();
}
try {
int interval = Int32.Parse(args);
int keeptime = Int32.Parse(args[1]);
string storepath = args[2].Trim();
if (!Directory.Exists(storepath)) {
Console.WriteLine("Error! Supplied path does not exist!");
Environment.Exit(1);
}
if (interval < 1 || interval > Int32.MaxValue || keeptime < 1 || keeptime > Int32.MaxValue) {
Console.WriteLine("Error! Supplied interval or keeptime is not valid! Must be an Int32 value.");
Environment.Exit(1);
}
while (true) {
// Save Screenshot
using (Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb)) {
using (Graphics gfx = Graphics.FromImage(bmp)) {
gfx.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
string filepath = Path.Combine(storepath, @"Screen_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpg");
bmp.Save(filepath, ImageFormat.Jpeg);
}
}
// Cleanup old images
foreach (string file in Directory.GetFiles(storepath, "Screen_*.jpg", SearchOption.TopDirectoryOnly).Where(x => File.GetCreationTime(x) < DateTime.Now.AddSeconds(-keeptime))){
File.Delete(file);
}
// wait to take next image
Thread.Sleep(interval * 1000);
}
} catch (System.Exception ex) {
Console.WriteLine("Application Exception: " + ex.Message);
Environment.Exit(1);
}
}
static void helpexit() {
Console.WriteLine("Error. You must supply 3 parameters.\n\tParameter 1: Time in Seconds between Screenshots\n\tParameter 2: Time in seconds to keep images stored.\n\tParameter 3: Directory where to store pictures.");
Console.ReadLine();
Environment.Exit(1);
}
}
}