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
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
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?
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
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.
merci de la réponse
tu n'aurai pas une solution pour mon premier probleme ?
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
l'appel du code
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
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
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
Ah ok, bah c'est bon alors.
il te manque quoi du coup?
PS: je ne garantie aucun code, je ne les ais pas essayés![]()
bah la ca fait un impri-ecran sur le serveur moi je voudrai aussi faire un imprim-ecran sur un pc distant et que cette impri-ecran soit enregistré sur le serveur
Oui et bien comme je t'ais dit,
tu est obligé de développer une petite appli qui va etre installer sur le pc client.
Et tu pilote ton appli par le réseau.
Tu peux utiliser un SerialPort pour ça,
tu le paramètre pour qu'il communique en Ethernet.
Et ça roule![]()
ok mais je ne pourrai pas controler avec mon appli principal
que entend tu par serialport ?
dsl j'ai commencé que ce matin le vb.net
Pas de soucis.
Le principe est le même que si je te parlais.
Voici un exemple de scénario:
- Le serveur envoie "GoGoGo" au pc_1
- Le Pc_1 lit "GoGoGo"
- Pc_1 déclenche le screenShot et l'enregistre sur le serveur
- Pc_1 répond au Serveur et lui donnant le chemin d'enregistrement
- Le serveur check que l'image ait bien était enregistrée sur sont Disque
- *Terminé*
Sur un réseau Windows il est possible de créer une session de contrôle à distance via le Remote Desktop Protocol. Ce qui permet, entre autres, de récupérer l'affichage du poste distant.
A voir. En comparaison de la solution de HunteShive, celle-ci ne nécessite pas de déployer un client sur les machines distantes mais sa mise en oeuvre est plus complexe, elle nécessite sans doute une configuration de la part de l'administrateur et elle implique un élargissement de la surface d'attaque des machines concernées.
donc je code un programme de screenshot et de save sur le pc 2
et quand le pc1 envoi une commande le programme s'active
ca a l'air d'etre possible a faire
merci de votre aide
j'aurai une autre question
quand je fai un screen apres je sauvegarde mais j'aimerai ne pas avoir de boite de dialogue que vien je voudrai que ce soi automatique.
comment puis je faire ?
merci
Bonjour,
tu remplace
Par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 '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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim CheminImage As String = "C:\Toto.bmp" screenshot.Save(CheminImage , System.Drawing.Imaging.ImageFormat.Bmp)![]()
merci pour votre reponse
j'aurai un autre problème es ce que je peu utiliser un programme en vb sans framework 4?
ouvre un autre post,
celui la est clos.![]()
Partager