script.vbs
-----------------------------------------
set Arg = Wscript.Arguments
Set Shell = WScript.CreateObject("WScript.Shell")
shell.Run "notepad.exe " & Arg(0),1
Playstring "%fe%fq"
Sub PlayString(s)
For i = 1 To len(s)
'le délai de 50 millisecondes s'impose, sinon ça coince!
WScript.Sleep 50
shell.SendKeys Mid(s, i, 1)
Next
End Sub
--------------------
je le lance avec la commande "script.vbs nom du fichier"
il fonctionne bien sauf si un autre programmme se lance en même temps, il
pert le focus donc le script ne fonctionne plus
Il y a t-il une solution ?
Merci d'avance
Yann
script.vbs ----------------------------------------- set Arg = Wscript.Arguments Set Shell = WScript.CreateObject("WScript.Shell") shell.Run "notepad.exe " & Arg(0),1 Playstring "%fe%fq" Sub PlayString(s) For i = 1 To len(s) 'le délai de 50 millisecondes s'impose, sinon ça coince! WScript.Sleep 50 shell.SendKeys Mid(s, i, 1) Next End Sub -------------------- je le lance avec la commande "script.vbs nom du fichier"
il fonctionne bien sauf si un autre programmme se lance en même temps, il pert le focus donc le script ne fonctionne plus Il y a t-il une solution ? Merci d'avance Yann
Un peu bourrin, mais tu peux ajouter un : Shell.AppActivate "notepad.exe" Juste avant le SendKeys
~Jean-Marc~ MVP Shell/User Fr M'écrire : http://msmvps.com/blogs/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/blogs/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Salutations Yann, tu nous disais :
Bonjour,
j'ai le script suivant :
script.vbs
-----------------------------------------
set Arg = Wscript.Arguments
Set Shell = WScript.CreateObject("WScript.Shell")
shell.Run "notepad.exe " & Arg(0),1
Playstring "%fe%fq"
Sub PlayString(s)
For i = 1 To len(s)
'le délai de 50 millisecondes s'impose, sinon ça coince!
WScript.Sleep 50
shell.SendKeys Mid(s, i, 1)
Next
End Sub
--------------------
je le lance avec la commande "script.vbs nom du fichier"
il fonctionne bien sauf si un autre programmme se lance en même
temps, il pert le focus donc le script ne fonctionne plus
Il y a t-il une solution ?
Merci d'avance
Yann
Un peu bourrin, mais tu peux ajouter un :
Shell.AppActivate "notepad.exe"
Juste avant le SendKeys
~Jean-Marc~ MVP Shell/User Fr
M'écrire : http://msmvps.com/blogs/docxp/contact.aspx
- http://docxp.mvps.org - http://msmvps.com/blogs/docxp/ -
Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
script.vbs ----------------------------------------- set Arg = Wscript.Arguments Set Shell = WScript.CreateObject("WScript.Shell") shell.Run "notepad.exe " & Arg(0),1 Playstring "%fe%fq" Sub PlayString(s) For i = 1 To len(s) 'le délai de 50 millisecondes s'impose, sinon ça coince! WScript.Sleep 50 shell.SendKeys Mid(s, i, 1) Next End Sub -------------------- je le lance avec la commande "script.vbs nom du fichier"
il fonctionne bien sauf si un autre programmme se lance en même temps, il pert le focus donc le script ne fonctionne plus Il y a t-il une solution ? Merci d'avance Yann
Un peu bourrin, mais tu peux ajouter un : Shell.AppActivate "notepad.exe" Juste avant le SendKeys
~Jean-Marc~ MVP Shell/User Fr M'écrire : http://msmvps.com/blogs/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/blogs/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Jean
Shell.AppActivate "notepad.exe"
L'argument title de AppActivate est le titre de la fenêtre (ou le PID de l'application) pas le nom de l'exécutable ;-)
Yiiiiikssss...... Autant pour moi. (en plus, je le sais : je l'utilise... :'( )
@+
-- ~Jean-Marc~ MVP Shell/User Fr M'écrire : http://msmvps.com/blogs/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/blogs/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Salutations Jean, tu nous disais :
Shell.AppActivate "notepad.exe"
L'argument title de AppActivate est le titre de la fenêtre (ou le PID
de l'application) pas le nom de l'exécutable ;-)
Yiiiiikssss...... Autant pour moi.
(en plus, je le sais : je l'utilise... :'( )
@+
--
~Jean-Marc~ MVP Shell/User Fr
M'écrire : http://msmvps.com/blogs/docxp/contact.aspx
- http://docxp.mvps.org - http://msmvps.com/blogs/docxp/ -
Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Yiiiiikssss...... Autant pour moi. (en plus, je le sais : je l'utilise... :'( )
@+
-- ~Jean-Marc~ MVP Shell/User Fr M'écrire : http://msmvps.com/blogs/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/blogs/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
GIRAUD Alexandre
Bonjour,
Ce n'est pas que je veux tout bousculer, mais il existe un langage script simple qui gère les focus d'applications. Notamment si tu souhaites faire des SendKeys. Il s'apelle AutoIt, actuellement en version 3 et avec un éditeur. http://www.autoitscript.com/autoit3/
Tu peux vérifier les fênetres ouvertes avec winwaitactive, ou les forcer avec Winactivate, etc... J'te jure c'est simple et rapide à apprendre comme langage.
N'hésite pas à me recontacter.
"Jean" a écrit dans le message de news:
Shell.AppActivate "notepad.exe"
L'argument title de AppActivate est le titre de la fenêtre (ou le PID de l'application) pas le nom de l'exécutable ;-)
Ce n'est pas que je veux tout bousculer, mais il existe un langage script
simple qui gère les focus d'applications. Notamment si tu souhaites faire
des SendKeys.
Il s'apelle AutoIt, actuellement en version 3 et avec un éditeur.
http://www.autoitscript.com/autoit3/
Tu peux vérifier les fênetres ouvertes avec winwaitactive, ou les forcer
avec Winactivate, etc... J'te jure c'est simple et rapide à apprendre comme
langage.
N'hésite pas à me recontacter.
"Jean" <repondre@groupe.svp> a écrit dans le message de news:
mn.332a7d6248451f9f.41316@windows...
Shell.AppActivate "notepad.exe"
L'argument title de AppActivate est le titre de la fenêtre (ou le PID de
l'application) pas le nom de l'exécutable ;-)
Ce n'est pas que je veux tout bousculer, mais il existe un langage script simple qui gère les focus d'applications. Notamment si tu souhaites faire des SendKeys. Il s'apelle AutoIt, actuellement en version 3 et avec un éditeur. http://www.autoitscript.com/autoit3/
Tu peux vérifier les fênetres ouvertes avec winwaitactive, ou les forcer avec Winactivate, etc... J'te jure c'est simple et rapide à apprendre comme langage.
N'hésite pas à me recontacter.
"Jean" a écrit dans le message de news:
Shell.AppActivate "notepad.exe"
L'argument title de AppActivate est le titre de la fenêtre (ou le PID de l'application) pas le nom de l'exécutable ;-)
Et, il existe une version ActiveX d'AutoIt. Cette version n'a pas de GUI, mais peut être appelée depuis un script en VBS
@-salutations
Michel Claveau
~Jean-Marc~ [MVP]
Salutations GIRAUD Alexandre, tu nous disais :
Ce n'est pas que je veux tout bousculer, mais il existe un langage script simple qui gère les focus d'applications. Notamment si tu souhaites faire des SendKeys. Il s'apelle AutoIt, actuellement en version 3 et avec un éditeur. http://www.autoitscript.com/autoit3/
Tu peux vérifier les fênetres ouvertes avec winwaitactive, ou les forcer avec Winactivate, etc... J'te jure c'est simple et rapide à apprendre comme langage.
Pas de problèmes, c'est une possibilité et il m'arrive de l'utiliser pour faire des installations de programmes qui ne supportent aucun mode silencieux sur un CD unattended.
@+
-- ~Jean-Marc~ MVP Shell/User Fr M'écrire : http://msmvps.com/blogs/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/blogs/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Salutations GIRAUD Alexandre, tu nous disais :
Ce n'est pas que je veux tout bousculer, mais il existe un langage
script simple qui gère les focus d'applications. Notamment si tu
souhaites faire des SendKeys.
Il s'apelle AutoIt, actuellement en version 3 et avec un éditeur.
http://www.autoitscript.com/autoit3/
Tu peux vérifier les fênetres ouvertes avec winwaitactive, ou les
forcer avec Winactivate, etc... J'te jure c'est simple et rapide à
apprendre comme langage.
Pas de problèmes, c'est une possibilité et il m'arrive de l'utiliser pour
faire des installations de programmes qui ne supportent aucun mode
silencieux sur un CD unattended.
@+
--
~Jean-Marc~ MVP Shell/User Fr
M'écrire : http://msmvps.com/blogs/docxp/contact.aspx
- http://docxp.mvps.org - http://msmvps.com/blogs/docxp/ -
Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Ce n'est pas que je veux tout bousculer, mais il existe un langage script simple qui gère les focus d'applications. Notamment si tu souhaites faire des SendKeys. Il s'apelle AutoIt, actuellement en version 3 et avec un éditeur. http://www.autoitscript.com/autoit3/
Tu peux vérifier les fênetres ouvertes avec winwaitactive, ou les forcer avec Winactivate, etc... J'te jure c'est simple et rapide à apprendre comme langage.
Pas de problèmes, c'est une possibilité et il m'arrive de l'utiliser pour faire des installations de programmes qui ne supportent aucun mode silencieux sur un CD unattended.
@+
-- ~Jean-Marc~ MVP Shell/User Fr M'écrire : http://msmvps.com/blogs/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/blogs/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Yann
"Jean" a écrit dans le message de news:
Shell.AppActivate "notepad.exe"
L'argument title de AppActivate est le titre de la fenêtre (ou le PID de l'application) pas le nom de l'exécutable ;-)
Je n'arrive pas à faire fonctionner la fonctionner la fonction "AppActivate "
Rappel:
A partir d'un batch je lance 40 fois de suite la commande
program.vbs "nom du fichier"
Le programme (program.vbs) doit juste ouvrir le fichier avec notepad et l'enregistrer mais le problème c'est que si par hasard un autre programme est ouvert sur le poste le script ne fonctionne plus. Avez vous une solution a me proposer.
Merci d'avance
Yann
"Jean" <repondre@groupe.svp> a écrit dans le message de news:
mn.332a7d6248451f9f.41316@windows...
Shell.AppActivate "notepad.exe"
L'argument title de AppActivate est le titre de la fenêtre (ou le PID de
l'application) pas le nom de l'exécutable ;-)
Je n'arrive pas à faire fonctionner la fonctionner la fonction "AppActivate
"
Rappel:
A partir d'un batch je lance 40 fois de suite la commande
program.vbs "nom du fichier"
Le programme (program.vbs) doit juste ouvrir le fichier avec notepad et
l'enregistrer mais le problème c'est que si par hasard un autre programme
est ouvert sur le poste le script ne fonctionne plus. Avez vous une
solution a me proposer.
Je n'arrive pas à faire fonctionner la fonctionner la fonction "AppActivate "
Rappel:
A partir d'un batch je lance 40 fois de suite la commande
program.vbs "nom du fichier"
Le programme (program.vbs) doit juste ouvrir le fichier avec notepad et l'enregistrer mais le problème c'est que si par hasard un autre programme est ouvert sur le poste le script ne fonctionne plus. Avez vous une solution a me proposer.
Merci d'avance
Yann
Jean
Le programme (program.vbs) doit juste ouvrir le fichier avec notepad et l'enregistrer
Il y a moyen de faire ça avec AppActivate/SendKeys mais pourquoi ne pas plutôt utiliser le File System Object pour ouvrir, modifier et enregistrer le fichier ?
note : Les scripts basés sur AppActivate et/ou SendKeys finissent généralement à la poubelle :-)
Amicalement,
-- Jean - JMST Belgium
Le programme (program.vbs) doit juste ouvrir le fichier avec notepad et
l'enregistrer
Il y a moyen de faire ça avec AppActivate/SendKeys mais pourquoi ne pas
plutôt utiliser le File System Object pour ouvrir, modifier et
enregistrer le fichier ?
Le programme (program.vbs) doit juste ouvrir le fichier avec notepad et l'enregistrer
Il y a moyen de faire ça avec AppActivate/SendKeys mais pourquoi ne pas plutôt utiliser le File System Object pour ouvrir, modifier et enregistrer le fichier ?