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. ger580

Beiträge von ger580

  • WinClose Funktioniert nicht bei Autoit Programm.

    • ger580
    • 7. September 2016 um 18:43

    Danke für die Antwort

    1.) Ja das ist ebenfalls in Verwendung in meinem Hauptprogramm. Das 2te Programm ist nur ein extra was man starten kann wenn man es braucht und im Hintergrund arbeitet so das man das Hauptprogramm Schliessen kann.

    2.) Vielen Dank habs mit GUISetOnEvent() gemacht. War mir nicht bewusst das eins von den 2 Sachen enthalten sein muss.

    Problem somit erledigt Danke. :thumbup:

  • WinClose Funktioniert nicht bei Autoit Programm.

    • ger580
    • 7. September 2016 um 15:31

    Hi

    Folgendes Problem:

    Ich hab 2 Autoit Programme mit dem ersten kann man das 2te starten (inkl Parameter etc) und natürlich auch Schliessen.
    Aber genau das macht Probleme. Vorher hatte ich es mit ProcessClose() gemacht jetzt aber würde ich es mit WinClose gerne machen.
    Je nachdem wie oft man das startet wird der Titel vom Fenster angepasst zb "DB~Name1" "DB~Name2" (In der .ini vorgegeben)
    WinWaitActive() und WinSetState() Funktionieren wunderbar WinClose() und WinKill() dagegen überhaupt nicht.

    Wo könnte da das Problem liegen?

    Hauptprogramm jeweilige Code stelle:

    AutoIt
    Func _DB()
    	$ButtonStatus = GUICtrlRead($StartBtnDB)
    	$Identifier = IniRead(@ScriptDir & "\settings.ini","DB","Identifier","N/A")
    	If $ButtonStatus = "Start" Then
    		Run(@ScriptDir & "\DB.dll")
    		WinWaitActive("DB~"&$Identifier)
    		;_CheckProcess()
    	Else
    		;WinKill("DB~"&$Identifier,"")
    		;$GetWindows = WinList()
    		;$GetHandle = _ArraySearch($GetWindows,"DB~"&$Identifier)
    		;WinClose($GetWindows[$GetHandle][1])
    		WinClose("DB~"&$Identifier)
    		Sleep(500)
    		;_CheckProcess()
    	EndIf
    EndFunc
    Alles anzeigen

    Die GUI die im 2ten Programm gestartet wird:


    AutoIt
    $dummy = GUICreate("DB~"&$Identifier,350,100,-1,-1,-1,-1)
    GUISetState(@SW_SHOW,$dummy)


    Wie man sehn kann hab ich auch schon versucht mit WinList() den Handle vom Fenster zu bekommen, klappt auch dennoch funktioniert WinClose() mit dem handle ebenfalls nicht.
    Info Das 2te Programm hat die Endung .dll nicht wundern handelt sich natürlich um eine autoit.exe da ich aber in meinem Ordner nur 1 .exe möchte hab ich die Endung geändert.

  • DockIt

    • ger580
    • 12. Februar 2012 um 20:35

    Vielen Dank :thumbup:

  • DockIt

    • ger580
    • 12. Februar 2012 um 20:12

    Hi

    Ich hab ein Problem. Und zwa hab ich es so das das 2te Fenster, wo dann an das Mainfenster Andockt. Erst ausklappt sobald ich auf ein Button gedrückt habe.
    Genauso hab ich ein button bei dem 2 fenster um es wieder einzuklappen.
    Das erste mal ausklappen sowie einklappen funktioniert. Doch nachdem ersten mal einklappen kann ich es nicht nochma ausklappen.
    Da passiert nichts mehr wenn ich auf den ausklappen Button drücke.

    Hier ist der "Case" Code vom Ausklappen Button:
    INFO: Ich habs mit "GUISetState(@SW_HIDE,$Formeo)" versucht und mit "GUIDelete($Formeo)"

    [autoit]


    Case $Button3
    GUICtrlSetState($Button3,$GUI_DISABLE)
    GUICtrlCreateGroup('', -99, -99, 1, 1)
    $Formeo = GUICreate("test", 615, 438, 192, 124)
    GUISetBkColor(0x000000)
    $Button1eo = GUICtrlCreateButton("<--- ", 8, 400, 75, 25)
    $Label1 = GUICtrlCreateLabel("test", 8, 8, 135, 21)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial Black")
    GUICtrlSetColor(-1, 0x800000)
    $Start = GUICtrlCreateButton("Start", 8, 32, 59, 25)
    $Button3eo = GUICtrlCreateButton("Stop", 80, 32, 59, 25)
    GUISetState(@SW_SHOW)

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

    Global $aDocks[2][4] = [[$Fenster,$Formeo,1,-1],[$Formeo,$Fenster,3,-1]]
    GUIRegisterMsg($WM_MOVE, "WM_MOVE")

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

    _moved()

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

    While True
    $msg = GUIGetMsg()
    Switch $msg
    Case -3
    Exit
    Case $Button1eo
    GUICtrlSetState($Button3,$GUI_ENABLE)
    GUISetState(@SW_HIDE,$Formeo)

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

    EndSwitch
    WEnd

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

    Func _moved()
    DllCall("User32.dll", "int", "PostMessageA", "hwnd", WinGetHandle($aDocks[0][0]), "int", $WM_MOVE, "int", 0, "int", 0)
    EndFunc

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

    Func WM_MOVE($hWndGUI)
    For $i = 0 To UBound($aDocks) -1
    If WinGetHandle($aDocks[$i][0]) = $hWndGUI Then
    Local $aPos1 = WinGetPos($aDocks[$i][0])
    Local $aPos2 = WinGetPos($aDocks[$i][1]), $iDiff = 0
    If $aDocks[$i][3] = -1 Then
    Local $ret = DllCall("user32.dll", "int", "GetSystemMetrics", "int", 32)
    If IsArray($ret) Then $iDiff = $ret[0]
    Else
    $iDiff = $aDocks[$i][3]
    EndIf
    Switch $aDocks[$i][2]
    Case 1
    WinMove($aDocks[$i][1], '', $aPos1[0]+$aPos1[2]+$iDiff, $aPos1[1])
    Case 2
    WinMove($aDocks[$i][1], '', $aPos1[0], $aPos1[1]+$aPos1[3]+$iDiff)
    Case 3
    WinMove($aDocks[$i][1], '', $aPos1[0]-$iDiff-$aPos2[2], $aPos1[1])
    Case 4
    WinMove($aDocks[$i][1], '', $aPos1[0], $aPos1[1]-$iDiff-$aPos2[3])
    EndSwitch
    EndIf
    Next
    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]
  • Game's ins Fenstermodus Bringen

    • ger580
    • 9. April 2009 um 16:54

    1.) ich hass WoW (Sro Guild wars oder Runes of Magic) aber kein WoW da welken sich die nasenhaare wenn ich sowas schon seh
    2.) bin ich aufen Privat server bei silkroad von daher stört mich das net
    3.)will ich mein eigenes tool schreiben nicht von andren usen möcht mich auch so "weiterbilden"


    Edit:

    Danke hat geholfen mit WinMove
    dann hätt ich noch eine frage und zwa gibt es auch nen befehl es im vordergrund zu halten das ich ZB counterstrike zock und oben in der ecke trotzdem des kleine fenster sehn kann danke das wär auch alles

  • Game's ins Fenstermodus Bringen

    • ger580
    • 9. April 2009 um 13:49

    Hi ich hab ein problem und zwa verweifle ich an einem punkt ich hab hier ein Game Silkroad =D
    und möchte das wenn ich jeweils auf den Button drück (2stück) den Client in den fenstermodus bringt
    und gleichzeitig auf die hälfte verkleinert also 50% der 2te button macht genau das selbe bloß auf 25%

    Nur hab ich keine ahnung wie ich das hinbekomm hab schon gedacht über AutoItSetOption aber das wird wohl das Falsche sein
    zum andren versteh ich das nicht so ganz andre sachen wie Hide Show Min Max bekomm ich problemlos hin.

    hoff ihr könnt mir helfen

  • Button & auslösen

    • ger580
    • 23. Februar 2009 um 22:16

    ahhh vielen dank :thumbup:

  • Button & auslösen

    • ger580
    • 23. Februar 2009 um 15:40

    hi ty für die hilfe allerdings speichert er immernoch nicht eine ini sobald ich auf save drücke :(
    und die while schleife musste ich auch wegmachen sonst öffnet sich mein gui fenster nicht

  • Button & auslösen

    • ger580
    • 23. Februar 2009 um 15:04

    Hi wie ihr seht bin ich neu hier =D und brauche direkt hilfe die hilfe datei hat mir leider nicht weitergeholfen.

    und zwar hab ich eine gui erstellt mit einem button

    $save = GUICtrlCreateButton("Save", 200, 112, 75, 25, 0)

    so und der button is kla soll erst die aktion auslösen wenn ich auch darauf klicke
    und zwa das hier (ich weis ist komplett falsch)

    [autoit]

    While 2
    $msg = GUIGetMsg()
    Select
    Case $msg = $save
    IniWrite("C:\test.ini","Autologin","ID",Call("ID") )
    IniWrite("C:\test.ini","Autologin","PW",Call("PW") )
    ;MsgBox features: Title=Yes, Text=Yes, Buttons=OK, Icon=Info
    MsgBox(64,"Save","Informationen wurden gespeichert")
    EndSelect
    WEnd

    [/autoit]

    so hab ich gedacht funktioniert es aber anscheind nicht xD
    so hatte ich es geplant

    ich hab 2 input boxen

    $ID = GUICtrlCreateInput("ID", 16, 112, 121, 21)
    $PW = GUICtrlCreateInput("PW", 16, 144, 121, 21)

    Dort ist kla wenn ich was reinschreib will ich es dann über den button save speichern in eine ini.

    $save = GUICtrlCreateButton("Save", 200, 112, 75, 25, 0)

    und sobald ich drauf klicke soll ja das hier passieren (wobei ich nicht weis ob das auch richtig ist mit der ini am ende mit dem call)

    IniWrite("C:\test.ini","Autologin","ID",Call("ID") )
    IniWrite("C:\test.ini","Autologin","PW",Call("PW") )
    ;MsgBox features: Title=Yes, Text=Yes, Buttons=OK, Icon=Info
    MsgBox(64,"Save","Informationen wurden gespeichert")

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™