VBS VB ecrire message dans une fenetre soustraite/reduite

VBS VB ecrire message dans une fenetre soustraite/reduite - VB/VBA/VBS - Programmation

Marsh Posté le 03-08-2009 à 12:10:53    

voilà j'ai un petit probleme , j'ai scripter un code qui :
 
creer un batch , puis le lance et ensuite repete un message via une macro
 
le probleme c'est que si je soustrait mon programme la macro elle est toujours là et ecris sur ma fenetre en cours :/ et non celle que je voudrais
 
et donc ma question est est il possible d'ecrire sur une fenetre soustraite ? ou un processus en cours ( pas re ecris le processus mais lui indiquer ou aller :/  )
 
par exemple ...
 
creer un batch qui lance une fenetre et la soustrait ... et ensuite mon vbs envoie la macro dans cette fenetre et pas une autre  
 
 
 
j'ai penser au base de registre ... mais bon :/
 
 
 
sinon petite question dans un de mes script j'ai besoin d'utiliser les guillemets ... or ma ligne est : .WriteLine " blablabla="blabla""
et j'ai toujours un probleme me disant fin de fonction attendu :/

Reply

Marsh Posté le 03-08-2009 à 12:10:53   

Reply

Marsh Posté le 03-08-2009 à 12:28:23    

qu'est-ce que tu veux dire par "soutraire mon programme" ?
 
Pour la dernière question tu peux utiliser le caractère en ASCII : Chr(34).
Sinon de mémoire il me semble que " est le caractère d'échappement donc essaye : .WriteLine " blablabla=""blabla"""

Reply

Marsh Posté le 03-08-2009 à 21:22:05    

ok merci je vais essayer de suite ;)
sa marche le double guillemet  !

 

Merci  :)

 

soustraire le programme = comme soustraire une fenetre = l'icone en haut à droite qui represente deux fenetre l'une sous l'autre X)


Message édité par dc_volo le 03-08-2009 à 21:33:35
Reply

Marsh Posté le 03-08-2009 à 21:40:49    

Ah ! "Restaurer" alors ça s'appelle officiellement.
Fais voir comme tu écris tes messages dans la fenêtre.

Reply

Marsh Posté le 05-08-2009 à 18:38:58    

Merde j'suis un abr*** c'est pas les deux fenetre mais la barre -.-'  _
 
et j'ecris par macro :
 
do while(1)  
Set variable=CreateObject("WScript.Shell" )  
variable.SendKeys ("say Bienvenue  / Welcome " )
variable.SendKeys ("{enter}" )  
variable.SendKeys ("say Sur le serveur des Dark Clone / On the Dark Clone's Server" )
variable.SendKeys ("{enter}" )  
variable.SendKeys ("say Bon frag et no noob ! / Good frag and no noob !" )
variable.SendKeys ("{enter}" )  
variable.SendKeys ("say http://darkclone.servegame.org/" )  
variable.SendKeys ("{enter}" )  
 
WScript.Sleep(40000)  
loop

Reply

Marsh Posté le 05-08-2009 à 19:38:50    

Ok donc "réduire" la fenêtre.
 
Mais avec les sendKeys il faut que tu ais le focus sur ta fenêtre car ça va écrire dans la fenetre active.
Aucune idée sur comment faire sinon.

Reply

Marsh Posté le 06-08-2009 à 10:01:25    

Salut
Je ne sais pas siça peut t'aider mais en en vbs quand tu veux écrire une macro à un endroit précis on fait comme ceci:

Code :
  1. 'Ajoute un module
  2.     Set mdle = fichxl.VBProject.VBComponents.Add(1)
  3.  
  4.  
  5. 'Ecrit la macro dans le fichier Excel
  6.     num=0
  7.     num=num+1:mdle.CodeModule.InsertLines num, "Sub MacroMiseEnFormeImportTxt()"
  8.     num=num+1:mdle.CodeModule.InsertLines num, "'"


le variable.Sendkey envoie comme la dit deamon sur la fenetre qui a le focus
donc il faut quil y ai une propriété qui indique les destinataire, mais là comme ça je ne connais pas. google est ton ami :)
soit essayer de le faire dans l'autre sens comme en vba que ce soit dans le destinataire que tu inseres des lignes ;)
 
Edit: à priori sendkey ne va pas marcher:
http://vb.developpez.com/faqvbs/?page=IV.1#wshSendkeys
ça dit bien fenêtre active....


Message édité par _xme_ le 06-08-2009 à 10:05:01
Reply

Marsh Posté le 07-08-2009 à 12:56:17    

Merci mais je débute completement :/ , toute mes recherches sont donc basé sur google justement , je vais me renseigner sur certaine partie de ton code pour voir que ligne sert à quoi ou si quelqu'un veut bien me detailler je veux bien aussi comme çà je serai sur d'avoir un exemple :D

 

Merci encore pour ton aide ;)


Message édité par dc_volo le 07-08-2009 à 12:56:46
Reply

Marsh Posté le 07-08-2009 à 14:41:33    

Salut voici un peit code récupéré sur dev et un peu modifié
J'espere qu'il pourra t'être utile

Code :
  1. Ok = False
  2. Set shell = CreateObject("Shell.Application" )
  3. Set shellwindows = Shell.Windows
  4. For Each Fen in Shellwindows    
  5.     If (InStr(Fen.LocationURL,"mapage.html" ) > 0) Then
  6.         Set ie = Fen
  7.         OK =true
  8.         Exit For
  9.     End If
  10. Next
  11. If Not OK Then
  12.     Set ie = CreateObject("InternetExplorer.Application" )
  13.     ie.height=320
  14.     ie.width=380
  15.     ie.menubar=0
  16.     ie.toolbar=0
  17.     ie.statusBar=0
  18. End if
  19. ie.left=largeur/2-190
  20. ie.top=hauteur/2-160
  21. ie.Navigate "mapage.html"
  22. ie.visible=true
  23. nb_image=nb_image+5


Ce code permet de trouver si un page web est ouvert
mais d'apres moi ca doit pouvoir s'adapter et voir si n'importe quel fichier est ouvert et dans ce cas le cibler ;)
 
Peit info ceci à un bug lorsque l'individu clique dans la barre en bas de l'écran si par exemple je clique sur les onglet d'ie à ce moment làle script n'arrive pas à s'adresser à la page internet. J'ai du bidouiller pour cacher le soucis ^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed