Question Imprimer une fenetre (Résolu)

Plus d'informations
il y a 14 ans 4 mois #880 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Re:Imprimer une fenetre
Bonjour Stéphanel,

Il faut maintenant récupérer le contenu du presse papier et le passer via le pipe à la cmdlet Out-Printer.

Malheureusement PowerShell n'intègre pas de commande native pour récupérer le contenu du presse papier. Ceci étant, il existe un jeu de cmdlets très riche (et libre) développé par la communauté Codeplex. Parmi ce jeu d'instructions il y a la cmdlet Get-Clipboard. Et c'est celle qu'il te faut.
Donc, rendez-vous chez Powershell Community Extensions .

Tiens nous au courant,
@++

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 4 mois #882 par Lepertel
Réponse de Lepertel sur le sujet Re:Imprimer une fenetre
MErci pour cette info, je vais jeter un oeil de suite.

Merci

Stephane

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 4 mois #926 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Re:Imprimer une fenetre
Hello,

Après quelques tests, il s'avère que la méthode précédente ne fonctionne pas.

Le mieux est d'utiliser la méthode SendWait du framework .Net 2.0.

[code:1]
[void][System.Reflection.Assembly]::LoadWithPartialName(\"System.windows.forms\"«»)
[system.windows.forms.sendkeys]::«»sendwait(\"%{PRTSC}\"«»)
[/code:1]

Avant de l'utiliser il ne faut pas oublier de charger l'assembly Windows.forms.

Maintenant reste plus qu'à envoyer le contenu du presse papier à une imprimante. Une technique pourrait consister à lancer une application, et à lui envoyer des séquences de touches pour coller le contenu du presse papier, puis à lancer l'impression.

A bientôt,

Arnaud<br><br>Message édité par: Arnaud, à: 13/09/07 09:41

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 4 mois #940 par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Imprimer une fenetre
Hello,

On peut aussi ajouter un bouton \&quot;Imprimer\&quot; qui appellera les méthodes du Framework qui vont bien. Il existe un exemple sur MSDN pour imprimer un Windows Form, évidemment pas en PowerShell mais en VB.Net et en C#:

msdn2.microsoft.com/fr-fr/library/6he9hz8c(vs.80).aspx

J'ai dû un peu gratter pour pouvoir le traduire en PowerShell. Voilà ce que ça donne - le code qui suit suppose que le Windows Form s'appelle $form :

[code:1]
# [void] [Reflection.Assembly]::LoadWithPartialName(\&quot;System.Windows.Forms\&quot;«»)
[void] [Reflection.Assembly]::LoadWithPartialName(\&quot;System.Drawing\&quot;«»)

$printClick = {
$myGraphics = $form.CreateGraphics()
$size = $form.Size
$script:memimage = new-object System.Drawing.Bitmap $form.Width, $form.Height, $myGraphics
$memgraphics = [System.Drawing.Graphics]::FromImage($script:memimage)
$memgraphics.CopyFromScreen($form.Location.X, $form.Location.Y, 0, 0, $size)
$printdoc.Print()
}

$PrintPage = { $_.Graphics.DrawImage($script:memimage, 0, 0) }

$printDoc = New-Object System.Drawing.Printing.PrintDocument
$printDoc.Add_PrintPage($PrintPage)

$printButton = New-Object System.Windows.Forms.Button
$printButton.Text = \&quot;Imprimer\&quot;
$printButton.Add_Click($printClick)

# $form = New-Object System.Windows.Forms.Form
$form.Controls.Add($printButton)
# $form.ShowDialog()[/code:1]
Les lignes commentées sont simplement là pour rappeler ce qui doit être fait par ailleurs pour créer et afficher le Windows Form. Le script existant doit déjà contenir des lignes équivalentes.

Voilà, j'espère que ça te sera utile.

Janel

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 4 mois #944 par Lepertel
Réponse de Lepertel sur le sujet Re:Imprimer une fenetre
Super, merci Janel, je vais tester ca ASAP.

encoe merci :)

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.091 secondes
Propulsé par Kunena