MUMBLE - Fenster ansprechen

  • ciao!
    Ich habe ein Problem mit Mumble und Autoit
    .
    Unattended installation was soweit ganz gut klappt. Nun ist es so das Mumble so Programmiert wurde, dass es den Unterfenstern keine Titel oder Textinformationen gibt.
    Habe gelesen man soll mit WinGetHandle was machen können, habe es auch probiert, doch leider funzt das nicht so einfach. AutoIt Window Info hilft mir nur bedingt weiter.


    Problem2: Ich kann zwar das vordere Fenster aktivieren, doch nur wenn ich das Hauptfenster anspreche.
    Jetzt ist es so, das eine Meldung kommt, die sagt es muss eine Soundkarte ausgewählt werden. OK
    Wenn ich das jetzt bestätige, wird auf einem anderen PC, welches diese Meldung nicht kommt, das Hauptfenster also Mumble geschlossen. :(
    .
    EDIT: Kann ich vielleicht die Fenstergrösse abfragen und somit aktivieren?

    Einmal editiert, zuletzt von satinez (17. März 2009 um 23:32)

  • die Größe des Fensters kannst Du mit WinGetPos() abfragen

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Danke, nur leider kann ich mit dem nichts anfangen..oder zumindest wenig..
    Ich muss das Fenster abfangen können, nur weiss ich nicht zu welchem Zeitpunkt.
    .
    Das Problem ist ja das die Meldungen nicht vorprogrammiert sind. Ich muss ja im Prinzip abfragen wenn das kommt dann sollst du das machen..
    .
    Wie Kann ich abfragen ob ein Fenster Existiert mit dieser xbreite und yhöhe grösse?

  • vielleicht kannst Du ja etwas in der Art in Dein Script einbauen in einer Schleife oder so

    Spoiler anzeigen
    [autoit]

    $size = WinGetPos("Dein Fenster")
    If WinExists("Dein Fenster") And $size[2] = "Breite Deines Fensters" And $size[3] = "Höhe Deines Fenster" Then
    .......
    EndIf

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Hab ja (noch) keins :)
    .

    [autoit]

    ShellExecute( @ProgramFilesDir & "\" & "Mumble\mumble.exe")

    [/autoit]


    .
    Dann kommen die ersten Fenster ohne einfache Ansprechmöglichkeit :(
    .
    #Schnuffel: jo danke,habs jetzt so gelöst...

    [autoit]

    $size = WinGetPos("Mumble")
    If WinExists("Mumble") And $size[2] = "506" And $size[3] = "113" Then
    MsgBox( 64, "", "Fenster erkannt?")
    WinClose("Mumble")
    EndIf

    [/autoit]
  • du erwartest aber jetzt nicht,
    dass ich mir 10MB Mumble runterlade und selber ausprobiere ...

    Vielleicht kannst Du ja ScreenShot's machen, die aussagekräftig sind

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Warum denn erwarten? Hat ja niemand was angekündigt ^^
    .
    Ist ja beinahe fertig. Nur eine kleine Fehlermeldung...Subscript used with non-Array variable
    .
    Ich nehm mal an das ich das array nicht einfach so ausgeben kann.
    EDIT: vergessen das Array zu deklarieren :)

    [autoit]

    Global $size
    $size = WinGetPos("Mumble", "")
    ShellExecute( @ProgramFilesDir & "\" & "Mumble\mumble.exe")

    [/autoit][autoit][/autoit][autoit]

    Sleep(1000)
    If WinExists("Mumble") And $size[2] = "506" And $size[3] = "113" Then
       
    WinActivate("Mumble")
    MsgBox( 64, "", "Fenster erkannt?")
    WinClose("Mumble")
    EndIf

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]
  • sry 4 doppelpost
    .
    habe ein weiteres Problem:
    .

    [autoit]

    $title2 = "[ACTIVE]"

    [/autoit][autoit][/autoit][autoit]

    $size = WinGetPos($title2)

    [/autoit][autoit][/autoit][autoit]

    Sleep(3000)

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0, "Active window stats (x,y,width,height):", $size[0] & " " & $size[1] & " " & $size[2] & " " & $size[3])

    [/autoit]


    So in einem eigenen Script funzt es.
    Sobald ich es aber in meinem eigenen Skript ausführe gehts nicht :(
    Fehlermeldung

    Code
    ==> Subscript used with non-Array variable.:
    MsgBox(0, "Active window stats (x,y,width,height):", $size[0] & " " & $size[1] & " " & $size[2] & " " & $size[3])
    MsgBox(0, "Active window stats (x,y,width,height):", $size^ ERROR


    .
    Habe schon probiert mit
    .
    Global $size[4]
    .
    Kein Erfolg
    Was mache ich falsch?

    EDIT: jetzt funzt es, längeres Sleep eingebaut.

    2 Mal editiert, zuletzt von satinez (19. März 2009 um 00:44)