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

VB.NET Discussion :

screenshot a distance


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 16
    Par défaut screenshot a distance
    Bonjour

    est'il possible de prendre un screenshot d'un pc à partir d'un serveur pour le stoker sur ce même serveur.


    merci de votre aide

  2. #2
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Bonjour,

    ça risque d’être difficile d'automatiser tout ça...

    Capturer l'écran d'un pc sur le résaux, je vois pas...
    a moins de prendre la main a distance, genre teamViewer.*

    Sinon l'idée serait de faire une appli client-Serveur.
    Avec l'appli client qui contient une routine pour capturer l'écran et l'envoyer sur le serveur.

    Le serveur envoie juste la demande de screenShot.

    ce ne sont que des idées, mais il y a du boulot derrière

    PS: Quel intérêt de capturer l'écran d'un pc?

  3. #3
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 16
    Par défaut
    merci de ta reponse

    je suis en stage dans une industrie

    et le but et de faire une relance d'un système

    ce système est composé de 1 serve et 3 pc

    et je doit donc faire un imprim-ecran du serve et de l'un des 3pc

    pour l'imprime écran du serv il n'y a pas de problème mais pour le pc je voi pas comment je pourrai le coder en vb


    j'aurai une autre question es ce que je peux mettre une adress-ip dans la commande de shutdown comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Diagnostics.Process.Start("shutdown", " -m 206.197.17.200 -r -t 02 -f -c ""streaming reboot."""    ")

    merci

  4. #4
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Alors pour le shutDown, tu trouve facilement sur la toile.

    Pour ceux qui ne la connaissent pas ou très peu, la commande se présente ainsi :

    Exemple : shutdown -s -f -t 30 - m \\192.168.3.4
    • -s : Met l'ordinateur hors tension. (indispensable)
    • -f : Force les applications en cours d'exécution à se fermer sans avertissement.
    • -t xx : Définit un compte à rebours en secondes
    • -m \\xxx.xxx.xxx.xxx : Précis l'adresse IP de l'ordinateur cible.

  5. #5
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 16
    Par défaut
    merci de la réponse



    tu n'aurai pas une solution pour mon premier probleme ?

  6. #6
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Pour faire un screen shot,
    le code est asse indesgte la première fois, mais il faut passer par des fonctions windows:

    je t'ai troyvé un code qui devrait t'aider
    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
    Public Class Screenshot
     
        Public Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (ByVal hDestDC As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hSrcDC As Integer, ByVal xSrc As Integer, ByVal ySrc As Integer, ByVal dwRop As Integer) As Integer
        Public Declare Function GetWindowDC Lib "user32" Alias "GetWindowDC" (ByVal hwnd As Integer) As Integer
        Public Declare Function ReleaseDC Lib "user32" Alias "ReleaseDC" (ByVal hwnd As Integer, ByVal hdc As Integer) As Integer
        Public Const SRCCOPY As Integer = &HCC0020
     
        Public Shared Sub CreateBitmap(Chemin as String)
            Dim gDest As Graphics
            Dim hdcDest As IntPtr
            Dim hdcSrc As Integer
            Dim hWnd As Integer '= Control.Handle.ToInt32
            Dim bmp As Bitmap
     
            hWnd = Process.GetCurrentProcess.MainWindowHandle.ToInt32
            bmp = New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
            gDest = gDest.FromImage(bmp)
            hdcSrc = GetWindowDC(hWnd)
            hdcDest = gDest.GetHdc
     
            BitBlt(hdcDest.ToInt32, 0, 0, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, hdcSrc, 0, 0, SRCCOPY)
     
            gDest.ReleaseHdc(hdcDest)
            ReleaseDC(hWnd, hdcSrc)
            bmp.Save(Chemin)
        End Sub
    End Class
    l'appel du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Screenshot.CreateBitmap("C:\BITMAP" & DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss") & ".png")
    C'est la qu'il est mal conçu je trouve, il aurait était mieux avec le chemin d'enregistrement en paramètres.
    Mais bon c'est vite rajouté

    c'est modifié

    voila pour un début

    ah et j'oubliais voila la Source:
    http://mywiki.wikidot.com/forum/t-655

  7. #7
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 16
    Par défaut
    pour le screenshot j'ai cela



    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
     
     'capture screen
            '========================================================================
            Dim bounds As Rectangle
            Dim screenshot As System.Drawing.Bitmap
            Dim graph As Graphics
            bounds = Screen.PrimaryScreen.Bounds
            screenshot = New System.Drawing.Bitmap(bounds.Width, bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb)
            graph = Graphics.FromImage(screenshot)
            graph.CopyFromScreen(bounds.X, bounds.Y, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy)
     
            'save sceen
            '========================================================================
            Dim savefiledialog1 As New SaveFileDialog
            Try
                savefiledialog1.Title = "Save File"
                savefiledialog1.FileName = "serveur.bmp"
                savefiledialog1.Filter = "Bitmap |*.bmp"
                If savefiledialog1.ShowDialog() = DialogResult.OK Then
                    screenshot.Save(savefiledialog1.FileName, System.Drawing.Imaging.ImageFormat.Bmp)
                End If
            Catch ex As Exception
                'Do Nothing
            End Try

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. executer une application a distance : Sockets ? RPC ? CORBA?
    Par a_hic dans le forum Développement
    Réponses: 5
    Dernier message: 30/05/2006, 13h02
  2. Accès à la base de registre windows à distance
    Par xavame dans le forum Sécurité
    Réponses: 4
    Dernier message: 13/07/2005, 15h23
  3. Screenshot
    Par rellik dans le forum Composants VCL
    Réponses: 8
    Dernier message: 05/08/2003, 12h28
  4. [SYSTEME] Relance service a distance
    Par NoisetteProd dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 24/02/2003, 08h26
  5. Réponses: 2
    Dernier message: 06/07/2002, 12h36

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