1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. lioput

Beiträge von lioput

  • Mehrere IE Fenster positionieren (WinMove) - klappt nicht!

    • lioput
    • 21. Juli 2017 um 07:05

    der code funkt! super. DANKE!

    die idee an dem script ist, dass ich mittels arrays verschiedene Dateien/Links/Verknüpfungen mit verschiedenen programmen (nicht nur IE) aufrufen und positionieren will.
    gibt es bekannte probleme mit winmove, etwas was ich immer berücksichtigen sollte?

    ich habe das script ausführlich getestet, und in der richtigen version auch mehrere msgboxen eingebaut, wo ich den HWND überprüfe; und das seltsame ist, dass alles bis zum schluss klappt: das richtige fenster wird in der vordergund geholt und aktiviert, nur bloss
    die positionierung haut eben nicht -immer - hin.

    das lässt mir keine ruhe ;)

  • Mehrere IE Fenster positionieren (WinMove) - klappt nicht!

    • lioput
    • 19. Juli 2017 um 14:10

    ja, das script hat eigentlich ganz einfach angefangen, und wurde dann immer komplizierter...

    die links hier dienen nur als vorlage, in der richtigen version rufen diese java-anwendungen auf.
    hatte da probs, diese zu fangen.

    danke für den code und deine hilfe - werde das ausprobieren!

    bg lio

  • Mehrere IE Fenster positionieren (WinMove) - klappt nicht!

    • lioput
    • 19. Juli 2017 um 13:11

    hallo alpines,
    ich habe jetzt erst mit autoit angefangen, und muss mich da noch einüben.


    $aLinks[2][4] = $iWindowHeight + 1=> ist so richtig

    DANKE!

  • Mehrere IE Fenster positionieren (WinMove) - klappt nicht!

    • lioput
    • 18. Juli 2017 um 21:14

    Hallo,

    ich habe da ein Problem mit dem Positionieren von Internet Explorer Fenstern

    Das Script =>

    -) öffnet 3 LINKS im browser (wenn diese nicht bereits offen sind)
    -) such nach HWND der drei offenen LINKS
    -) Positioniert die drei LINKS auf dem Bildschirm.

    Das Problem ist, dass das Positionieren der der Browser-Fenster IRGENDWIE nicht klappt.
    Mal funktioniert es, dass alle DREI Fenster in die richtige Position (untereinander) gebracht werden,
    und ein anderes mal wird vielleicht nur ein Fenster positioniert, und manchmal gar keines.

    Ich habe gedacht, dass ich eigentlich einen recht robusten CODE geschrieben habe - tja.
    Umso mehr würde ich gerne erfahren, wieso es nicht klappt.

    Bitte um Eure Hilfe!
    Danke im Voraus!

    BG, lio

    AutoIt
    ; options
    Opt("WinTitleMatchMode", -2)     
    Opt("MustDeclareVars", 1)
    
    
    #include <Array.au3>
    #include <MsgBoxConstants.au3>
    
    
    ; MsgBox Icons
    Global $iMBtopStop = 262160
    Global $iMBtopExclam= 262192
    Global $iMBtopInfo = 262208
    
    
    ; vars
    Global $vTemp
    Global $vPosWidth
    Global $vPosHeight
    Global $vPosX
    Global $vPosY
    
    
    ; timeout [seconds]
    Global $iTimeOutMini = 1
    Global $iTimeOutMidi = 3
    Global $iTimeOutMiddle = 5
    
    
    ; delay time [milliseconds]
    Global $iDelayMini = 1000
    Global $iDelayMidi = 3000
    Global $iDelayMiddle = 5000
    
    
    ; progs at work
    Local $sBrowser = "C:\Program Files\Internet Explorer\iexplore.exe"
    Local $sVLC = "C:\Program Files\VideoLAN\VLC\vlc.exe"
    
    
    ; window size (width and height)
    Global $iWindowWidth = @DesktopWidth
    Global $iWindowHeight = @DesktopHeight / 3
    
    
    Global $aLinks[3][8]
    
    
    $aLinks[0][0] = "www.wetter.at"	; link
    $aLinks[0][1] = "Österreich Wetter :: wetter.at"  ; windowtitle
    $aLinks[0][2] = 0 ; for hwnd later
    $aLinks[0][3] = 0 ; windowposition x
    $aLinks[0][4] = 0 ; windowposition y
    $aLinks[0][5] = $iWindowWidth	; windowsize (width)
    $aLinks[0][6] = $iWindowHeight	; windowsize (height)
    $aLinks[0][7] = $sBrowser  ; program to open the link
    
    
    $aLinks[1][0] = "http://search.yahoo.com/" ; link
    $aLinks[1][1] = "Yahoo Search - Web Search" ; windowtitle
    $aLinks[1][2] = 0  ; for hwnd later
    $aLinks[1][3] = 0  ; windowposition x
    $aLinks[1][4] = $iWindowHeight * 2 + 1	; windowposition y
    $aLinks[1][5] = $iWindowWidth  ; windowsize (width)
    $aLinks[1][6] = $iWindowHeight ; windowsize (height)
    $aLinks[1][7] = $sBrowser ; program to open the link
    
    
    $aLinks[2][0] = "http://orf.at/" ; link
    $aLinks[2][1] = "news.ORF.at"	 ; windowtitle
    $aLinks[2][2] = 0  		 ; for hwnd later
    $aLinks[2][3] = 0  		 ; windowposition x
    $aLinks[2][4] = $iWindowHeight + 1 ; windowposition y
    $aLinks[2][5] = $iWindowWidth	 ; windowsize (width)
    $aLinks[2][6] = $iWindowHeight	 ; windowsize (height)
    $aLinks[2][7] = $sBrowser	 ; progr
    
    
    Func searchWinTitles_GetHWND($sSubString)
    	; | Search for window-title in task-manager
    	; |	return title and hwnd if found
    
    
        ; exit is search-string is empty
        If $sSubString = "" Then
            MsgBox($iMBtopStop, "SEARCH FOR TITLES", "no search pattern found: exiting!", $iTimeOutMidi)
            Exit
        EndIf
    
    
        local $aWinList = WinList()
        local $aWindowArray[0][2]
        local $aTempArray[1][2]
        local $iIndex = -1
        local $aResult[1][2]
    
    
        ; create array of non empty window-titles
        For $i = 1 To $aWinList[0][0]
            If $aWinList[$i][0] <> "" Then
                $aTempArray[0][0]= $aWinList[$i][0]
                $aTempArray[0][1]= $aWinList[$i][1]
                _ArrayAdd($aWindowArray, $aTempArray)
            EndIf
        Next
    
    
        ; search for substring in array: CASE SENSITIVE
        $iIndex = _ArraySearch($aWindowArray, $sSubString, 0, 0, 0, 4)
        If  $iIndex <> - 1 Then
            MsgBox($iMBtopInfo, "TITLE FOUND", $sSubString & @CRLF & _
                        "Name: " & $aWindowArray[$iIndex][0] & @CRLF & _
                        "Hwnd: " & $aWindowArray[$iIndex][1], $iTimeOutMini)
    
    
            $aResult[0][0] = $aWindowArray[$iIndex][0]  ; add title-name
            $aResult[0][1] = $aWindowArray[$iIndex][1]  ; add hwnd
            ; _ArrayDisplay($aResult)
            ; Return 2D array with title-name and hwnd
            Return $aResult
        Else
            MsgBox($iMBtopStop, "TITLE NOT FOUND!", $sSubString, $iTimeOutMiddle)
            Return -1
        EndIf
    EndFunc
    
    
    ; check if links are available, else open links in browser - search is case sensitive
    for $i = 0 To ubound($aLinks) - 1
        If not (WinExists($aLinks[$i][1])) Then
            ShellExecute($aLinks[$i][7], $aLinks[$i][0])
            sleep($iDelayMidi)
            MsgBox($iMBtopInfo, "OPEN LINK", $aLinks[$i][0], $iTimeOutMini)
            sleep($iDelayMidi)
    	Else
    		MsgBox($iMBtopInfo, "LINK FOUND", $aLinks[$i][0], 
                           $iTimeOutMini)
            sleep($iDelayMiddle)
        EndIf
    Next
    
    
    ; search for window-titles and get HWND
    for $i = 0 to UBound($aLinks) -1
        $vTemp = searchWinTitles_GetHWND($aLinks[$i][1])
        if IsArray($vTemp) Then
            $aLinks[$i][2] = $vTemp[0][1]
        Else
            MsgBox($iMBtopStop, "get hwnd", $aLinks[$i][1] & " HWND NOT 
            FOUND!", $iTimeOutMiddle)
        EndIf
    Next
    
    
    ; set windows in position
    WinMinimizeAll()
    sleep(3000)
    
    
    ; set Links-windows in position
    for $i = 0 to UBound($aLinks) - 1
        $vTemp = $aLinks[$i][2]  ; get hwnd
        $vPosX = $aLinks[$i][3]
        $vPosY = $aLinks[$i][4]
        $vPosWidth = $aLinks[$i][5]
        $vPosHeight = $aLinks[$i][6]
    
    
        WinWait($vTemp, 60)
        WinActivate($vTemp)
        sleep(3000)
        WinMove($vTemp, "", $vPosX, $vPosY, $vPosWidth, $vPosHeight)
        Sleep(3000)
    Next
    
    
    MsgBox($iMBtopExclam, "", "FIN 1", $iTimeOutMidi)
    Alles anzeigen

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™