IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Screen Shoot Powershell


Sujet :

Scripts/Batch

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien en télécommunication
    Inscrit en
    Mai 2013
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien en télécommunication
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 199
    Points : 73
    Points
    73
    Par défaut Screen Shoot Powershell
    Bonjour,
    mon script actuellement fait des captures toutes les 15 secondes mais mon image est écrasée a chaque fois.
    J'aimerai garder chaque image et toutes les 15 secondes .
    Voici le script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
    
    [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
    
    function Get-ScreenCapture
    
    {
    
        param(   
    
        [Switch]$OfWindow       
    
        )
        
    
        begin {
    
            Add-Type -AssemblyName System.Drawing
    
            $jpegCodec = [Drawing.Imaging.ImageCodecInfo]::GetImageEncoders() |
    
                Where-Object { $_.FormatDescription -eq "JPEG" }
    
        }
    
        process {
    
            Start-Sleep -Milliseconds 250
    
            if ($OfWindow) {           
    
                [Windows.Forms.Sendkeys]::SendWait("%{PrtSc}")       
    
            } else {
    
                [Windows.Forms.Sendkeys]::SendWait("%{PrtSc}")       
    
            }
    
            Start-Sleep -Milliseconds 250
    
            $bitmap = [Windows.Forms.Clipboard]::GetImage()   
    
            $ep = New-Object Drawing.Imaging.EncoderParameters 
    
            $ep.Param[0] = New-Object Drawing.Imaging.EncoderParameter ([System.Drawing.Imaging.Encoder]::Quality, [long]100) 
    
            $computername = gc env:computername
    
            $bitmap.Save("C:\wawa\Sreen\$computername.jpg", $jpegCodec, $ep)
    
        }
    
    }
    
    gwmi Win32_SystemEnclosure | % {$NameBios = $_.SMBIOSAssetTag}
    
    $DataFolder="C:\wawa\Sreen\Shoot\";
    
    $limit = (Get-Date).AddDays(-3)
    
    
    $i=0;
    
    Get-Childitem $DataFolder -recurse | ?{!$_.PSIsContainer -and ($_.CreationTime -lt (get-Date).adddays(-4))} | remove-item
    
    while ($i -le 5) {
    
        Get-ScreenCapture
    
        start-sleep -Seconds 15
    
    }
    Quelqu’un a t'il une solution ?
    Merci

  2. #2
    Membre confirmé Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Points : 582
    Points
    582
    Par défaut
    Bonjour,

    Tu pourrais par exemple mettre l'heure de la capture --> tes fichiers enregistrés ne peuvent pas avoir 2 fois le même nom.
    Comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    $computername = gc env:computername
    $CurrentTime = Get-Date -Format yyyyMMddHHmmss
    $FileName = $CurrentTime + "_" + $computername
    $bitmap.Save("C:\wawa\Sreen\$FileName.jpg", $jpegCodec, $ep)
    ...
    Autre possibilité : un compteur qui s'incrémente lors de chaque screenshot, à insérer dans le nom de l'image enregistrée.

    Bonne continuation.

Discussions similaires

  1. Comment faire un splash screen pour son application?
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/04/2007, 14h28
  2. Screen -> plane
    Par bleyblue dans le forum DirectX
    Réponses: 2
    Dernier message: 15/08/2004, 15h07
  3. affichage texte style splash screen
    Par scorbo dans le forum MFC
    Réponses: 4
    Dernier message: 13/06/2004, 12h03
  4. [DX9] Splash Screen
    Par delire8 dans le forum DirectX
    Réponses: 6
    Dernier message: 03/06/2004, 10h30
  5. affichage de controles sur un splash screen
    Par shrek dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/11/2003, 19h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo