nachgefragt
Goto Top

Alternative zur Windows Schrittaufzeichnung

Hallo Administrator/inn/en,

gesucht wird (d)ein empfehlenswertes Tool welches wie bei dem Bordmittel, der Windows Schrittaufzeichnung, Screenshots macht. Dies dient hinterher als Protokoll, Nachbearbeitung für eine Doku,... Audio/Video unnötig, oder auch komplette Videoaufzeichnungen unnötig.

Kann jemand eine solches Tool empfehlen, Danke schonmal.

PS: Die Windows Schrittaufzeichnung ist für kurze Aufzeichnung via Screenshot ok, jedoch musste wir mehrmals feststellen das sich diese bei längerer Nutzung aufhängt, Screenshots fehlen,... .

Content-ID: 3218905363

Url: https://administrator.de/contentid/3218905363

Ausgedruckt am: 24.11.2024 um 07:11 Uhr

colinardo
colinardo 30.06.2022 aktualisiert um 13:39:10 Uhr
Goto Top
Servus,
Greenshot ließe sich dafür verwenden: Automated Screenshot Recording using Greenshot.

Persönlich nutze ich hier Adobe Captivate für Schulungen etc. Lässt sich so konfigurieren das nur bei jedem Klick oder getimed Screenshots gemacht werden, bei Bedarf auch Pfeile mit Mausbewegungen usw. hinzugefügt werden.

Grüße Uwe
TwistedAir
TwistedAir 30.06.2022 um 13:31:12 Uhr
Goto Top
Hallo,

Der Bildbetrachter IrfanView hat eine Screenshot-Funktion, die entweder per Shortcut oder in einstellbaren Zeitintervallen ein Bild anfertigt. Das kann der komplette Bildschirm, ein Bildschirmbereich oder ein Fenster sein. Das Bild wird dann ins Programm geladen oder in eine festgelegten Ordner gespeichert.

Für privat kostenlos, kommerziell für kleine Münze zu haben.

Gruß
Martin
SachsenHessi
SachsenHessi 30.06.2022 um 14:04:34 Uhr
Goto Top
Hallo,
also ich bevorzuge FASTSTONE-Capture (https://www.faststone.org/FSCaptureDownload.htm) .
Kann auch ScreenVideo uvam.

Gruß
SH
137960
137960 30.06.2022 um 14:08:57 Uhr
Goto Top
Eine Lösung, die keine Installation benötigt:

https://recordscreen.io/

Probier's aus.
nachgefragt
nachgefragt 04.07.2022 um 16:32:38 Uhr
Goto Top
Zitat von @colinardo:
Greenshot ließe sich dafür verwenden:
Danke Uwe,
gibt es die Möglichkeit das es bei jedem Maus Linksklick ein Foto macht (so ist es in der Schrittaufzeichnung)?
Danke vorab.
colinardo
colinardo 04.07.2022 aktualisiert um 17:14:38 Uhr
Goto Top
Zitat von @nachgefragt:
gibt es die Möglichkeit das es bei jedem Maus Linksklick ein Foto macht (so ist es in der Schrittaufzeichnung)?
Ja könnte man sich mit Powershell scripten und einen global Hook auf den Mouse-Click setzen.
nachgefragt
nachgefragt 05.07.2022 um 08:05:59 Uhr
Goto Top
Danke, es darf gern eine fertige Lösung sein.
  • Greenshot ist damit raus
  • FASTSTONE-Capture hat das letzte Update 2007 erhalten, was mich etwas abschreckt.
  • recordscreen.io bzw. Daten in Nirvana's Cloud, nicht wirklich.

Kennt jemand Snagit?
https://www.techsmith.de/download/snagit/
colinardo
colinardo 05.07.2022 aktualisiert um 09:53:46 Uhr
Goto Top
Nutze ich, macht aber auch keine Screenshots bei jedem Klick, hier kannst du auf nur einen KB-Hotkey und automatische Ablage in einem Ordner ausweichen. Wie gesagt Adobe Captivate ist für sowas ideal geeignet. Kannst dir ja mal die Trial anschauen und ausprobieren.

Hab dir mal schnell was mit der Powershell zusammengelötet was Screenshots bei jedem Mausklick in einem Ordner ablegt - das lässt sich natürlich nach Gusto erweitern/anpassen, Zeile 2 den Ordner in dem die Screenshots gespeichert werden sollen angeben und dann starten, wenn fertig Form schließen:
# define output folder for screenshots
$SCREENSHOTFOLDER = 'D:\ordner\screenshots'  
# play shutter sound on capture
$PLAYSOUND = $true
# shutter soundfile
$SOUNDFILE = 'C:\Windows\Media\Speech On.wav'  
# -------------------------
$ErrorActionPreference = 'Stop'  
if (!(Test-Path $SCREENSHOTFOLDER)){md $SCREENSHOTFOLDER -Force | out-null}
$global:dllpath = ''  
Add-Type -A System.Drawing
Add-Type -A System.Windows.Forms
Add-Type –MemberDefinition '[DllImport("user32.dll")]public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);' -name Window -namespace W32  

function Load-NugetAssembly {
    [CmdletBinding()]
    param(
        [string]$url,
        [string]$name,
        [string]$zipinternalpath,
        [switch]$downloadonly
    )
    # Accept all TLS protocols
    [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::GetNames([System.Net.SecurityProtocolType]) 
    if($psscriptroot -ne ''){  
        $localpath = join-path $psscriptroot $name
    }else{
        $localpath = join-path $env:TEMP $name
    }
    $global:dllpath = $localpath
    $tmp = "$env:TEMP\$([IO.Path]::GetRandomFileName())"  
    $zip = $null
    try{
        if(!(Test-Path $localpath)){
            Add-Type -A System.IO.Compression.FileSystem
            write-host "Downloading and extracting required library '$name' ... " -F Green -NoNewline  
            (New-Object System.Net.WebClient).DownloadFile($url, $tmp)
            $zip = [System.IO.Compression.ZipFile]::OpenRead($tmp)
            $zip.Entries | ?{$_.Fullname -eq $zipinternalpath} | %{
                [System.IO.Compression.ZipFileExtensions]::ExtractToFile($_,$localpath)
            }
	        Unblock-File -Path $localpath
            write-host "OK" -F Green  
        }
        if(!$downloadonly.IsPresent){
            Add-Type -Path $localpath -EA Stop
        }
        
    }catch{
        throw "Error: $($_.Exception.Message)"  
    }finally{
        if ($zip){$zip.Dispose()}
        if(Test-Path $tmp){del $tmp -Force -EA 0}
    }  
}

Load-NugetAssembly -url 'https://www.nuget.org/api/v2/package/MouseKeyHook/5.6.0' -name 'Gma.System.MouseKeyHook.dll' -zipinternalpath 'lib/net40/Gma.System.MouseKeyHook.dll'  

Add-Type @'  
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Gma.System.MouseKeyHook;
 
namespace GlobalHotkey
{
    public partial class EventForm : Form
    {
        private IKeyboardMouseEvents m_GlobalHook;
        public event EventHandler GlobalMouseClicked;
 
        public EventForm(){
            m_GlobalHook = Hook.GlobalEvents();
            m_GlobalHook.MouseClick += GlobalMouseClickEvent;

        }
        private void GlobalMouseClickEvent(object sender, EventArgs e){
            GlobalMouseClicked.Invoke(this,EventArgs.Empty);
        }
 
        private void EventForm_FormClosing(object sender, FormClosingEventArgs e){
            m_GlobalHook.MouseClick -= GlobalMouseClickEvent;
            m_GlobalHook.Dispose();
        }
    }
}
'@ -ReferencedAssemblies 'System.Windows.Forms',$global:dllpath  

function Capture-Screenshot {
    [CMDLetBinding()]
    param(
        [parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string]$filepath,
        [parameter(mandatory=$false)][System.Drawing.Size]$size,
        [parameter(mandatory=$false)][System.Drawing.Point]$Position = '0,0',  
        [parameter(mandatory=$false)][ValidateSet('PNG','BMP','JPEG')][string]$ImageFormat = 'JPEG',  
        [parameter(mandatory=$false)][ValidateRange(0,100)][int]$ImageQuality = 100,
        [parameter(mandatory=$false)][switch]$Force
    )
    $bm = $null
    # get primary screen bounds
    $w = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Width
    $h = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Height

    # set capture size to full screen area if not set by function parameter
    if (!$size){
        [System.Drawing.Size]$size = "$w,$h"  
    }
    
    try{
        
        # create target folder if it does not exist
        if (!(Test-Path ([io.Path]::GetDirectoryName($filepath)))){md ([io.Path]::GetDirectoryName($filepath)) -Force | out-null}
        if(!$force.IsPresent){
            if (Test-Path $filepath){
                throw "Filename already exists in given path. (Use '-force' parameter to force overwriting file)"  
            }
        }
        
        # create bitmap
        $bm = New-Object System.Drawing.Bitmap $size.Width,$size.Height

        # capture screen area
        [System.Drawing.Graphics]::FromImage($bm).CopyFromScreen($position.X,$position.Y,0,0,$size)
        
        # creating image format encoderset
        $encParams = New-Object System.Drawing.Imaging.EncoderParameters(1)
        $encFormat = [System.Drawing.Imaging.ImageCodecInfo]::GetImageEncoders() | ?{$_.FormatDescription -eq $ImageFormat}
        $encParams.Param = New-Object System.Drawing.Imaging.EncoderParameter ([System.Drawing.Imaging.Encoder]::Quality, $ImageQuality)

        # save screenshot
        $bm.Save($filepath,$encFormat,$encParams)

        # return fileinfo
        return (gi $filepath)
    }catch{
        Write-Error -Message $_.Exception.Message

    }finally{
        if ($bm){$bm.Dispose()}
        # restore PS window if it was visible before screenshot
        if ($restoreWindow){
            [W32.Window]::ShowWindow($psWindowPID, 5)
        }
        
    }
}

# hide powershell window
[void][W32.Window]::ShowWindow((Get-Process -id $pid).MainWindowHandle, 0)

$player = [System.Media.SoundPlayer]::new($soundfile)

$form = New-Object GlobalHotkey.EventForm -Property @{
    Text = "ScreenshotByClick"  
    Size = '400,200'  
    ShowInTaskbar = $true
    add_GlobalMouseClicked = {
        if($PLAYSOUND){$player.Play()}
        Capture-Screenshot -filepath (join-path $SCREENSHOTFOLDER "screenshot_$(get-date -F yyyyMMdd_HHmmss).jpg") -ImageFormat JPEG -ImageQuality 70 -Force  
    }
}
$lbl = New-Object System.Windows.Forms.Label -P @{
    Dock = [System.Windows.Forms.DockStyle]::Fill
    TextAlign = 'MiddleCenter'  
    Font = [System.Drawing.Font]::new([System.Drawing.FontFamily]::new('Arial'),25)  
    Text = 'Close form to stop taking screenshots'  
}
$form.Controls.Add($lbl)
[void]$form.ShowDialog()
$player.Dispose()
Wie immer ohne Gewähr.
Viel Spaß.

Grüße Uwe
137960
137960 05.07.2022 um 11:55:12 Uhr
Goto Top
zu RecordScreen.io:
[..]
Videos are processed in the browser and are never sent to our servers.
[..]
nix Cloud.

Zu SnagIt:
Benutze ich schon seit Jahren, ebenso Camtasia vom gleichen Hersteller. Ist beider aber weder günstig noch kostenlos.

Unter Windows habe ich zum Erstellen von kurzen Tutorial-Videos das Tool hier genommen:

https://www.debugmode.com/wink/

Es ist einfach, kostenlos und für das, was es kann, genial. Eine Anleitung braucht man dafür nicht.
FUHSSrfe
FUHSSrfe 28.07.2022 aktualisiert um 11:37:26 Uhr
Goto Top
Du kannst ShareX (ähnlich wie Greenshot). Ich bin damit voll zufrieden
Du kannst es auch als GIF erstellen oder Fenster screenshoten (die direkt als solche erkannt werden)

https://getsharex.com/
https://github.com/ShareX/ShareX
nachgefragt
nachgefragt 28.07.2022 um 15:20:53 Uhr
Goto Top
Zitat von @FUHSSrfe:
Du kannst ShareX
Danke, aber leider kann ich auch keine automatischen Screenshot bei linker Maustaste vornehmen.
Für mal eben ein Video aber gut und übersichtlich.
nachgefragt
Lösung nachgefragt 19.12.2022 um 11:42:43 Uhr
Goto Top
ScreenToGif