Question Simuler un ctrl+c et un clic droit de la souris

Plus d'informations
il y a 13 ans 11 mois #6569 par Samy Girard
Bonjour.

Pour répondre aux questions :

Qu'est-ce que tu entends par COM ?


En passant par le port COM1 (c'est-à-dire en utilisant un câble série). La connexion ne pose,à priori, pas de problèmes car j'ai sauvegardé un profil dans Putty (que j'ai appelé Cisco).

-m est l'argument de quelle commande ?


-m est l'argument de la commande : cmd.exe /c putty.exe -load Cisco

Il ne peut le mettre qu'en mémoire au travers d'une variable, tu veux dire dans le presse-papier (clipboard) ?


Oui dans le presse-papier. Peut-être y'a t'il moyen d'accéder au presse-papier et de lui ajouter du texte ? (sous Windows 7)

A priori mal aisé à faire en PS, dans un autre langage c'est fort probable, mais qui émet et qui reçoit ?

Ce serait le programme Powershell qui émet et Putty.exe qui recevrait le clic droit. Si ce n'est pas facile à faire en PS, a quel(s) langage(s) pense-tu ?

Un beep (fréquence sur le mini hp du pc) ou un mp3 ?

Idéalement un mp3, si ce n'est pas possible un beep système :)

Merci pour votre retour.

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

Plus d'informations
il y a 13 ans 11 mois #6570 par Samy Girard
Oups mauvaise manip. Un modérateur peut déplacer le sujet svp ? ^^

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

Plus d'informations
il y a 13 ans 11 mois #6572 par Laurent Dardenne
Salut,
bon je répond ici ce sera plus facile pour fusionner les 2 threads.
myssa écrit:

-m est l'argument de la commande : cmd.exe /c putty.exe -load Cisco

Ce que dit la doc de Putty concernant la commande -m :

With some servers (particularly Unix systems), you can even put multiple lines in this file and execute more than one command in sequence, or a whole shell script; but this is arguably an abuse, and cannot be expected to work on all servers. In particular, it is known not to work with certain ‘embedded’ servers, such as Cisco routers.

myssa écrit:

Oui dans le presse-papier.

Voir les cmdlets dédiés de PSCX (Get-Clipboard/Set-ClipBoard). Je posterai prochaienement un exemple dans le forum contribution.
myssa écrit:

Ce serait le programme Powershell qui émet et Putty.exe qui recevrait le clic droit. Si ce n'est pas facile à faire en PS, a quel(s) langage(s) pense-tu ?

J'ai d'abord essayé avec les librairies de Add-lib , mais le pb est qu'une application posséde plusieurs handles de fenêtres. On doit connaître le bon destinataire pour un effectuer un SendMessage :
[code:1]
$Process=Microsoft.PowerShell.Management\start-process Notepad.exe –pass
$Handle=$Process.MainWindowHandle
$WM_PASTE = [int32]0x302
#Ne fonctionne pas, car le Handle de fenêtre
#n'est pas le bon, cf. Spy++
Write-Clipboard \"ceci est un exemple`r`n de texte\";[void](SendMessage $Handle $WM_PASTE 0 0x0L )
[/code:1]
Comme je n'ai pas trop le temps de porter les API win32 manquantes sous PS (EnumWindows,...), je me suis donc tourné vers WASP .
C'est à peu près la même approche, mais codé en C#, c'est préférable pour ce type de traitement.
Une solution :
[code:1]
#Connexion sur une livebox,
#compte et pwd par défaut
C:\Tools\Putty\Putty.Exe telnet:192.168.1.1:23
#L'affichage de Putty n'est pas 'instantané'
sleep 1
#Sélectionne la fenêtre
$Window=Select-Window Putty
#Envoi une chaîne et un retour chariot pour valider
Send-Keys -win $Window.handle \"root`r`n\"
#On s'assure de ne pas 'stresser' Putty
sleep -m 250
Send-Keys -win $Window.handle \"1234`r`n\"
sleep -m 250
Send-Keys -win $Window.handle \"ls`r`n\"
sleep -m 250
Sleep 7
Send-Keys -win $Window.handle \"exit`r`n\"
[/code:1]
L'interface de Putty, en telnet, ne supporte pas le Control-V, on reçoit data_error :
[code:1]
C:\Tools\Putty\Putty.Exe telnet:192.168.1.1:23
sleep 1
$Window=Select-Window Putty
Send-Keys -win $Window.handle \"root`r`n\"
sleep -m 250
Send-Keys -win $Window.handle \"1234`r`n\"
sleep -m 250
#écriture dans le presse-papier,
# puis Ctrl-V dans la fenêtre cible activée
Write-Clipboard \"ceci est un exemple.\";Send-Keys -win $Window.handle \"^v\"
[/code:1]
myssa écrit:

Idéalement un mp3, si ce n'est pas possible un beep système :)

Putty permet d'exécuter un son ou un mp3 selon une action, consulte sa doc.
Sinon si c'est en dehors de Putty, tu peux trouver des solutions sur le net.

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 11 mois #6575 par Samy Girard
Bonjour

Grâce à l'aide d'un collègue,j'ai finalement pu faire ce que je souhaitais.

Pour le copier-coller, j'ai trouvé une commande vraiment simple qui fonctionne :

[code:1]Get-Content \".\essai.txt\" | clip[/code:1]
Pour simuler le clic droit, je suis passé par une bibliothèque VB. En effet le \"ctrl+v\" ne fonctionne pas sur Putty, il faut obligatoirement faire un clic droit pour que \"coller\" fonctionne :

[code:1]function wait {
param([int]$stop = 2)
Start-Sleep -seconds $stop
}

###chargement de la bibliothèque###
[void][System.Reflection.Assembly]::LoadWithPartialName(\"'Microsoft.VisualBasic\"«»)
& \".\Putty.exe\"

###Selection du process ####
$a = Get-Process | Where-Object {$_.Name -eq \"Putty\"}
wait
#[Microsoft.VisualBasic.Interaction]::AppActivate($a.ID)

## envoi de la send key###
[System.Windows.Forms.SendKeys]::«»SendWait(\"+{F10}\"«»)[/code:1]
Pour finir, pour le son j'ai du télécharger le magnétophone de Windows XP, et j'ai pu le lancer en lui passant des paramètres :

[code:1]$son=\"cmd /c sndrec32.exe /embedding /play /close son.wav\"
invoke-expression $son[/code:1]

Merci Laurent pour ton aide :)

Message édité par: myssa, à: 20/04/10 12:11<br><br>Message édité par: myssa, à: 20/04/10 15:21

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

Plus d'informations
il y a 13 ans 11 mois #6577 par Laurent Dardenne
salut,
myssa écrit:

Pour le copier-coller, j'ai trouvé une commande vraiment simple qui fonctionne

C'est la même API Win32 ;), l'avantage est de ne pas nécessiter l'installation d'un snapin (cf. Add-PsSnapin).

Tutoriels PowerShell

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

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