IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Ouvrir des applications, les redimentionner, et les postionner


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2015
    Messages : 52
    Par défaut Ouvrir des applications, les redimentionner, et les postionner
    Bonjour

    Je souhaite faire un programme PowerShell qui va ouvrir plusieurs plusieurs applications (dont chrome). Les redimentionner à la taille voulue (hauteur et largeur en pixel), puis les positionner sur mon environnement de travail multi-écran (j'ai 3 écrans).
    Ecran 1 (principal en position debout): Largeur 1080px x hauteur 1920px
    Ecran 2 (position normal): Largeur 1920px x hauteur 1080px
    Ecran 3 (position normal): Largeur 1920px x hauteur 1080px

    J'y connais rien en PowerShell et j'ai dèjà mis une heure pour écrire ça, qui permet d'ouvrir une nouvelle instance de Chrome sur le site IMDB tout en faisant une recherche sur un film.
    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $TitreFilm = Read-Host "Titre du film:"
    $TitreFilm = $TitreFilm.replace(' ','+') #remplace les ESPACE par des PLUS
    $AdresseUrlImdb = "--new-window https://www.imdb.com/find?s=all&q=" + $TitreFilm #--new-window ouvre une nouvelle instance de Chrome 
     
    Start-Process -FilePath Chrome -ArgumentList $AdresseUrlImdb

    Pouvez vous m'aider à repositionner cette fenêtre Chrome fraichement ouverte, en la plaçant sur mon 2e écran dans le coin suppérieur droit avec une taille de largeur 1230px et de hauteur 1080px ?

    Merci.

  2. #2
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2015
    Messages : 52
    Par défaut
    Il n'exite pas de commandes en PowerShell qui permettrent de déplacer une fenêtre et de la redimentionner ?

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Non, mais tu peux tout faire (je l'ai déjà fait).

    Tu doit injecter du code C++ (utiliser les API Windows) dans un code C# dans ton code Powershell.
    Sinon d'autre langage sont fait pour ça comme autoit, il y a une librairie qui permet de l'utiliser.

  4. #4
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2015
    Messages : 52
    Par défaut
    OK.
    Du coup j'ai utilisé AutoIt que je connaissais pas et j'ai réussi à me débrouiller avec.
    L'outil "Windows Info", inclus avec, est vraiment pratique. Il suffit d'ouvrir les fentres comme on veut qu'elles soient disposées, et l'outil donne toutes les coordonnées et dimentions à entrer dans le programme (et d'autre info, genre la CLASS: Chrome_WidgetWin_1 que j'aurai plus chezrcher pendant des plombs).
    Merci.

    Ci-dessous, pour ceux que ça pourait intéresser, le code AutoIt que j'ai fait (donc surement pas très propre, mais ça marche nickel pour moi, mais si vous voyez des corrections à apporter, je suis preneur). (J'ai viré l'adresse de mon NAS qui s'ouvre normalement dans la première fenetre chrome):

    Code AutoIt : 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
    28
    29
    30
    31
    Local $TitreFilm = InputBox("Double Chrome", "Entrer est le titre du film ou de la série ?")
    Local $TitreFilm2 = StringReplace($TitreFilm, " ", "%2b") 			; remplace les ESPACE par des +
    Sleep(1000)
    
    Run("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
    Sleep(1000)
    Send("https://fr.wiktionary.org/wiki/machin-chose{ENTER}")
    Local $hWnd = WinWait("[CLASS:Chrome_WidgetWin_1]", "", 10)			; identifie la fenetre chrome
    WinSetState($hWnd, "", @SW_RESTORE) 						; restore la fenetre si jamais elle est maximisée
    WinMove($hWnd, "", 1073, 840, 1244, 1087) 					; repositionne et redimentionne la fenetre
    
    Run("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
    Sleep(1000)
    Send("http://www.imdb.com/find?s=all&q=" &$TitreFilm2& "{ENTER}" )
    Local $hWnd = WinWait("[CLASS:Chrome_WidgetWin_1]", "", 10)
    WinMove($hWnd, "", 2303, 840, 704, 1087)
    
    Sleep(500)
    Send("^t") 									; ouvre un nouvel onglet dans Chrome
    Send("http://www.allocine.fr/recherche/?q=" &$TitreFilm2& "{ENTER}" )
    
    Sleep(500)
    Send("^t")
    Send("http://www.themoviedb.org/search?query=" &$TitreFilm2& "{ENTER}" )
    
    Sleep(500)
    Send("^t")
    Send("https://fr.wikipedia.org/w/index.php?title=Spécial:Recherche&search=" &$TitreFilm2& "{ENTER}" )
    
    Send("^+{TAB 3}") 								; retourne sur le premier Onglet

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 351
    Par défaut
    Bonsoir,

    Voici ce qui est faisable spécifiquement pour Chrome :
    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $size = '--window-size=600,400'
    $position = '--window-position=100,100'
    $url = 'https://www.developpez.net/'
    Start-Process -FilePath Chrome -ArgumentList $size, $position, $url

  6. #6
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2015
    Messages : 52
    Par défaut
    Ah oui cool... Du coup j'essaie de l'adapter avec ce que je veux faire..

    Mais j'ai besoin d'ouvrir deux instances de Chrome, du coup j'utilise --new-window et quand je l'incorpore le positionnement et le redimensionage ne fonctionne plus:

    Code PowerShell : 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
     
    $size1 = '--window-size=1244,1087'
    $position1 = '--window-position=1073,840'
     
    $size2 = '--window-size=704,1087'
    $position2 = '--window-position=2303,840'
     
    $TitreFilm = Read-Host "Titre du film"
    $TitreFilm = $TitreFilm.replace(' ','+') #remplace les ESPACE par des PLUS
     
    $UrlVideoStation = 'https://www.developpez.net/'
    $UrlImdb = 'https://www.imdb.com/find?s=all&q=' + $TitreFilm
    $UrlAllocine = 'http://www.allocine.fr/recherche/?q=' + $TitreFilm
    $UrlTmdb = 'http://www.themoviedb.org/search?query=' + $TitreFilm
    $UrlWikipedia = 'https://fr.wikipedia.org/w/index.php?title=Spécial:Recherche&search=' + $TitreFilm
     
    Start-Process -FilePath Chrome -ArgumentList --new-window, $size1, $position1, $UrlVideoStation
    Start-Sleep -s 1
     
    Start-Process -FilePath Chrome -ArgumentList --new-window, $size2, $position2, $UrlImdb
    Start-Sleep -s 1
    Start-Process -FilePath Chrome -ArgumentList $UrlTmdb
    Start-Process -FilePath Chrome -ArgumentList $UrlAllocine
    Start-Process -FilePath Chrome -ArgumentList $UrlWikipedia

    Une idée de ce qui pose problème ?

Discussions similaires

  1. Ouvrir des fenêtres et les compter
    Par Wakko2k dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 13/02/2009, 20h15
  2. les sessions en dehors des applications web
    Par paonus dans le forum Windows Forms
    Réponses: 1
    Dernier message: 11/07/2008, 09h19
  3. [FPDF] Pb pour ouvrir des PDF depuis les dossiers Web
    Par Diggi dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 12/12/2007, 08h51
  4. tracer les appels des applications
    Par wwave dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 06/07/2006, 11h20
  5. Réponses: 7
    Dernier message: 27/10/2005, 14h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo