Combolist

  • Kurze frage
    wie wähle ich das fenster aus also so das mein script mit arbeiten kann ?

    [autoit]

    $gui = GUICreate("", 250, 80, 0, 0)
    $combo = GUICtrlCreateCombo("", 10, 10, 230, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
    $button = GUICtrlCreateButton("Aktualisiere Liste", 10, 45, 230, 22)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button
    GUICtrlSetData($combo, "")
    $list = WinList("Navocoder")
    For $i = 1 To $list[0][0]
    GUICtrlSetData($combo, $list[$i][0])
    Next
    EndSwitch
    WEnd

    [/autoit]
  • na du hast mir das doch damals mal gemacht weil ich halt 4 fenster mit den namen Navocoder habe
    und ich nöchte das halt so machen das ich diese fenstern unabhängig der gleichen namen ansteuernkann

  • Zitat

    na du hast mir das doch damals mal gemacht

    Ui ka hab schon viel im Forum gepostet^^

    Wenn du unabhänig vom Namen mit ihnen arbeiten willst dann verwende doch das Handle, das ist immer eindeutig.

  • na das problem ist ich habe das im auto ^^
    also das navcoder ist das zu da um befehle ans auto zu senden zub fenster oder verdeckt zv und alles was über das ibus geht
    ich muss aber an 4 navcoder fenster die alle gleich sind ander befehle schicken und somit denke ich das es mit den hamdle nicht geht

    ich kann ja nicht
    $Navcoder = wingethandle "Navcoder 1.1.2


    machen, ich habe ja 4 davon im hide
    und muss bei alles 4 an das gleiche Edit schicken
    deswegen wollte ich das so machen das wenn ich das auswähle das es dann nur an das geht

    • Offizieller Beitrag

    Wenn alle Fenster den gleichen Titel haben, wie willst du dann wissen welches das richtige ist?
    Unterscheiden sie sich irgendwie?

    So könntest du es mit dem Handle machen, ist aber nicht aussagekräftig da du ja nicht weißt, zu welchen Fenster welches Handle gehört.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #Include <GuiComboBox.au3>
    $gui = GUICreate("", 250, 80, 0, 0)
    $combo = GUICtrlCreateCombo("", 10, 10, 230, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
    $button = GUICtrlCreateButton("Aktualisiere Liste", 10, 45, 230, 22)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $combo
    WinActivate(hwnd(GuiCtrlRead($combo)))
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button
    GUICtrlSetData($combo, "")
    $list = WinList("Navocoder")
    For $i = 1 To $list[0][0]
    GUICtrlSetData($combo, $list[$i][1])
    Next
    EndSwitch
    Wend

    [/autoit]
  • ich habe wollte das so machen

    $Navr = Navcoder1.1.2
    $Mini1 = Nav1
    $Mini2 = Nav2
    $Mini3 = Nav3
    $Mini4 = Nav4
    WinSetTitle($Navr, "", $Mini1)
    und das würde er ja bei jedem machen
    deswegen möchte ich das halt haben das es nur bei dem ist was ich auswähle
    die ander haben dann halt ander zahlen hinterm Nav

  • WinList gibt dir doch für jedes gefundene Fenster das Handle mit und wenn du statt einer Combo eine Listview nimmst kannst du jedem Fenster das entsprechene Handle zuordnen. Wie du allerdings bei 4 gleichen Fensternamen dann an das richtige die richtigen Befehle senden willst ist mir ein Rätsel, nach den bisher von dir preisgegenen Infos halte ich das Projekt für nicht durchführbar egal ob über Handle (was sich ja immerhin unterscheidet) oder über Fenstertitel (= Lotteriespiel)

    mfg autoBert

    • Offizieller Beitrag

    Probier mal das aus, ist aus dem Gedächtnis und ungetestet:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiComboBox.au3>
    $gui = GUICreate("", 250, 80, 0, 0)
    $combo = GUICtrlCreateCombo("", 10, 10, 230, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
    $button = GUICtrlCreateButton("Aktualisiere Liste", 10, 45, 230, 22)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $combo
    WinActivate(GUICtrlRead($combo))
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button
    GUICtrlSetData($combo, "")
    $list = WinList("Navcoder")
    For $i = 1 To $list[0][0]
    WinSetTitle($list[$i][1], "", "Nav" & $i)
    GUICtrlSetData($combo, "Nav" & $i)
    Next
    EndSwitch
    WEnd

    [/autoit]
  • sehr geil funzt danke

    könntest du mir sagen wie ich das machen das wenn ich das "fenster" nav2 wähle das mein script es automatisch erkennt


    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=D:\Eigene Bilder\Cs\cm.kxf
    $Form1 = GUICreate("CM by:Detroit49", 220, 148, 1, 119)
    $Label1 = GUICtrlCreateLabel("Management", 64, 0, 95, 17)
    $Button1 = GUICtrlCreateButton("Stup", 8, 24, 43, 17, 0)
    $Button2 = GUICtrlCreateButton("Stup", 8, 48, 43, 17, 0)
    $Pic1 = GUICtrlCreatePic("", 128, 24, 20, 12, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Button3 = GUICtrlCreateButton("Stub", 8, 72, 43, 17, 0)
    $Button4 = GUICtrlCreateButton("Stub", 8, 96, 43, 17, 0)
    $Button5 = GUICtrlCreateButton("Full", 56, 24, 43, 17, 0)
    $Button6 = GUICtrlCreateButton("Full", 56, 48, 43, 17, 0)
    $Button7 = GUICtrlCreateButton("Full", 56, 72, 43, 17, 0)
    $Button8 = GUICtrlCreateButton("Full", 56, 96, 43, 17, 0)
    $Pic2 = GUICtrlCreatePic("", 104, 24, 20, 12, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic3 = GUICtrlCreatePic("", 104, 48, 20, 12, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic4 = GUICtrlCreatePic("", 128, 48, 20, 12, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic5 = GUICtrlCreatePic("", 104, 72, 20, 12, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic6 = GUICtrlCreatePic("", 128, 72, 20, 12, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic7 = GUICtrlCreatePic("", 104, 96, 20, 12, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic8 = GUICtrlCreatePic("", 128, 96, 20, 12, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Radio1 = GUICtrlCreateRadio("Show1", 160, 24, 57, 17)
    $Radio2 = GUICtrlCreateRadio("Show2", 160, 48, 57, 17)
    $Radio3 = GUICtrlCreateRadio("Show3", 160, 72, 57, 17)
    $Radio4 = GUICtrlCreateRadio("Show4", 160, 96, 57, 17)
    $Slider1 = GUICtrlCreateSlider(72, 120, 134, 21)
    $Label2 = GUICtrlCreateLabel("Transparenc", 8, 120, 64, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $NAv = "Navcoder1.1.2"
    $navi1 = "nav1"
    $navi2 = "nav2"
    $navi3 = "nav3"
    $navii4 = "nav4"
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    _stup1()
    case $Button5
    _Full()
    EndSwitch
    WEnd
    func _stup1()
    WinSetTitle($NAv, "", $navi1)
    endfunc

    [/autoit]
  • habe mal mein script reingemacht
    vllt hilft das


    aber kann man das nicht so machen das wenn ich den befehl schicke das es micht fragt an welches der fenster ich das schicken möchte ?

    • Offizieller Beitrag

    Dein Scipt ist ja ganz wunderbar. Das beantwortet aber nicht die Frage was du überhaupt haben willst. Ausserdem fehlt die Func _Full().

    Gib dir mal ein bischen mehr Mühe. Du willst das man dir hilft und wir sollen raten?
    Wir investiern Zeit dir zu helfen, dann kannst du auch Zeit investieren dein Problem zu beschreiben. Und zwar so das man es auch versteht.

  • ja ich weiss ^^
    Also
    ich habe 4 fenster offen die heissen alle XXX jetzt mache ich mein script auf was die fenster die XXX heissen in die namen YYY1
    YYY2,YYY3 und YYY4 machen sollen, das das script aber abnipt weil es ja versuche alle fenster in YYY1 zu machen ist das blöde ^^
    und deswegen wollte ich das so machen das ich fenster XXX auswähle dies dann in YYY1 gemacht wird Ohne das die anderen fenster namens XXX umbennand werden

    Hoffe ich habe mich jetzt besser zu verstehe gegeben
    sry

  • Du hast jetzt in deinen letzten drei Posts jeweils etwas komplett anderes geschrieben und immer ist der Text kaum zu verstehen.

    So gern ich dir auch helfen möchte, so geht es beim besten WIllen nicht.

  • also noch leichter geht es nicht oder
    wie soll ich es euch den sonst erklären das ich halt wir gleiche fenster habe und diese jeweils andere bennen möchte
    also so ist es ja zu verstehen

  • Also entweder ist es zu leicht oder ich habs immer noch nicht verstanden.
    Umbenennen in dem Sinne?!?:

    Spoiler anzeigen
    [autoit]

    For $i = 1 to 4
    ShellExecute("notepad")
    Next

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

    MsgBox(0,"", "Alle 4 heißen Unbenannt")

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

    WinMove("Unbenannt", "", 0, 0, 400, 400)
    WinSetTitle("Unbenannt", "", "Mein erstes Notepad Fenster")

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

    MsgBox(0,"", "Das erste jetzt nicht mehr")

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

    WinMove("Unbenannt", "", 400, 0, 400, 400)
    WinSetTitle("Unbenannt", "", "Auch Nr 2 ist mit dabei")

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

    MsgBox(0,"", "Das zweite jetzt nicht mehr")

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

    WinMove("Unbenannt", "", 0, 400, 400, 400)
    WinSetTitle("Unbenannt", "", "Alle guten Dinge sind 3")

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

    MsgBox(0,"", "Das dritte jetzt nicht mehr")

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

    WinMove("Unbenannt", "", 400, 400, 400, 400)
    WinSetTitle("Unbenannt", "", "Jetzt ist aber Schluss")

    [/autoit]
  • ich habe das in meinem script doch geschrieben ^^
    also du hast 4 fenter mit unbennat
    jetzt sage ich

    [autoit]

    $Ub = Unbennant <----- Das ist klar
    $neuername1= unbennant1<------ das sind die neuen namen
    $neuername2= unbennant2
    $neuername3= unbennant3
    $neuername4= unbennant4

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

    so nun zu dem was ich machen will
    func _stup1()
    WinSetTitle($Ub, "", $neuername1) <---- so wenn ich das so machen macht er alle 4 in unbennant1 und das ist da was ich vermeiden will

    [/autoit]
  • Siehe Post #4: Dann nimm das Handle


    Spoiler anzeigen
    [autoit]

    For $i = 1 To 10
    ShellExecute("notepad")
    Next
    Sleep(100)

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

    $list = WinList("Unbenannt")
    For $i = 1 To $list[0][0]
    WinSetTitle($list[$i][1], "", "MeinTest" & $i)
    Next

    [/autoit]