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

Beiträge von Yjuq

  • Executable als childGUI in parentGUI mit RunAs

    • Yjuq
    • 18. November 2014 um 18:47

    Soa, nach ein wenig Schlaf und ausprobieren habe ich das Problem über die Windows Message WM_MOVING gelöst.
    Der Code hat Kommentare und ist hoffentlich so verständlich.
    Viel Spaß damit! :)

    [autoit]

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

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

    ; ACHTUNG
    ; Code wurde so geschrieben dass es NUR in der SciTE funktioniert (direktes ausführen per [F5])
    ; Prinzip per Windows Messages bleibt aber gleich

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

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

    #include <GUIConstants.au3>
    #include <StructureConstants.au3>

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

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

    If Not $CmdLine[0] Then
    $hGUI = GUICreate('', 800, 600)
    GUIRegisterMsg($WM_MOVING, 'WM_MOVING') ; Wird aufgerufen wenn das Fenster bewegt wird
    GUISetState()

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

    $iPID = Run(StringFormat('"%s" "%s" "%s"', @AutoItExe, @ScriptFullPath, $hGUI), @ScriptDir, @SW_SHOW, 0x2) ; Startet einen zweiten Prozess des Programmes

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

    Do
    $hChild = StdoutRead($iPID) ; Wartet auf das Handle der Child GUI
    Until $hChild

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

    StdioClose($iPID)
    Else
    $hChild = GUICreate('', 400, 300, -1, -1, -1, -1, $CmdLine[1])
    GUISetState()

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

    ConsoleWrite($hChild) ; Sendet das Handle der Child GUI zum Parent Fenster
    EndIf

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

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

    While GUIGetMsg() <> -3
    WEnd

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

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

    Func WM_MOVING($hWndGUI, $MsgID, $WParam, $LParam)
    Local $aiGUI = WinGetPos($hGUI) ; Fensterposition der Parent GUI vor der Verschiebung
    Local $aiChild = WinGetPos($hChild) ; Fensterposition der Child GUI
    Local $tRect = DllStructCreate($tagRECT, $LParam) ; Fensterposition der Parent GUI nach der Verschiebung

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

    If WinExists($hChild) Then WinMove($hChild, '', $aiChild[0] - ($aiGUI[0] - $tRect.Left), $aiChild[1] - ($aiGUI[1] - $tRect.Top)) ; Neue Child GUI Position berechnen und verschieben

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

    Return $GUI_RUNDEFMSG
    EndFunc

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

    [/autoit]
  • Executable als childGUI in parentGUI mit RunAs

    • Yjuq
    • 18. November 2014 um 15:53

    Schwierig, normalerweise kannst du dann dafür einfach den ExStyle $WS_EX_MDICHILD verwenden...
    Jedoch funktioniert dass für 2 unterschiedliche Prozesse nicht:

    [autoit]

    #include <GUIConstants.au3>

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

    If Not $CmdLine[0] Then
    $hGUI = GUICreate('', 800, 600)
    GUISetState()

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

    Run(StringFormat('"%s" "%s" "%s"', @AutoItExe, @ScriptFullPath, $hGUI))
    Else
    $hChild = GUICreate('', 400, 300, -1, -1, -1, $WS_EX_MDICHILD, $CmdLine[1])
    GUISetState()
    EndIf

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

    While GUIGetMsg() <> $GUI_EVENT_CLOSE
    WEnd

    [/autoit]

    Aber ich lass mir da mal noch eine (elegante) Lösung einfallen. Sonst halt viele If-Abfragen und Fenster Positionen speichern. ^^

  • Executable als childGUI in parentGUI mit RunAs

    • Yjuq
    • 18. November 2014 um 15:13

    Das liegt daran dass die GUI Funktionen nur für AutoIt interne Fenster ausgelegt sind (sprich: Gui's via GUICreate im gleichen Programmcode). Auf externe Fenster kannst du leider mit den Funktionen nicht zugreifen.

    Glücklicherweise liefert AutoIt aber auch die WinSetState() Funktion mit. Damit solltest du keine Probleme haben.

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • Laptop Display hinüber

    • Yjuq
    • 15. November 2014 um 15:31

    Super, neues Display ist angekommen. Dafür dass der gebraucht sein sollte ist der sogar noch in nen besseren zustand als mein altes Display vor dem total defekt war. I'm so happy now! Ich hätze es keinen tag länger ausgehalten. Danke an allen beteiligten! :D

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • Laptop Display hinüber

    • Yjuq
    • 13. November 2014 um 12:11

    Super, die gleiche idee hatte ich auch für meinen display. Um frust abzubauen, weißt schon :D

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • [spiel] Wünsch dir was !

    • Yjuq
    • 13. November 2014 um 12:07

    Bekommst du, aber ohne gäste, darfst alleine feiern ^^

    Ich wünsche mir eine magische pizzaschachtel welche mir beim öffnen immer eine warme, genießbare salami pizza hervor zaubert. :D

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • Zahlen in Zahlwörter umwandeln

    • Yjuq
    • 13. November 2014 um 05:44

    Mir ist der Begriff Algorithmus sehr gut bekannt. Was mich störte war dein Angriff auf Alina und Techmix, nur weil sie dich freundlich darauf hingewiesen haben den Code zu posten. Du hättest nicht gleich so ausfallend darauf reagieren müssen, wir sind durchaus in der Lage auch ohne den Code hilfestellung zu geben. Aber wie du so schön sagtest, ein kompetenter Arzt hätte sich den Fleck angeguckt, als nur auf eine Beschreibung zu hören.

    Und ich finde es wirklich schön dass du zu den einigen wenigen Usern gehörst die Codetechnisch weiter sind. Aber wieso stellst du dich dann hier so arrogant und quer?

    Code hin oder her, ich reg mich hier über dein Benehmen auf, es geht schon seit meinen Post nicht mehr um den Code. Von mir brauchst du jedenfalls nichts erwarten. Ob dir daran was liegt oder nicht, sei mal dahingestellt. Ciao

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • Zahlen in Zahlwörter umwandeln

    • Yjuq
    • 12. November 2014 um 20:59

    Soa, ich werde wirklich selten sauer, was du aber hier von dir gibst ist ja schon beleidigend. Wenn du von uns Hilfe erwartest, dann erwarten wir von dir auch eine Mitarbeit. Und das sehen wir am besten indem du deine Prozedure hochlädst die deinen Algorithmus beinhaltet.

    DU möchtest gerne wissen ob es auch einfacher geht. Zu deiner Frage: Nein, geht es nicht. Codetechnisch ließe sich bei dir bestimmt aber noch einiges optimieren.

    Wenn du meinst dass ein ehemaliger Kinderchat dir da besser helfen könne, viel Glück!

    Spoiler anzeigen

    Bevor ich es vergesse, die beiden da oben sind sehr kompetente Programmierer. Und ehrlich gesagt halte ich nichts von Leuten die meinen sich hier aufspielen zu müssen. Da wirst du leider keinen Erfolg in unserer Community haben.

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • Laptop Display hinüber

    • Yjuq
    • 12. November 2014 um 20:48

    Wenn man da mal einen monitor hätte ^^

    Naja, Bildschirm ist bestellt, kommt morgen oder übermorgen an. Bis dahin kann ich noch warten. Und ich denke wenn ich den alten ausgebaut bekomme, krieg ich den anderen auch eingebaut.

    Zudem hab ich irgendwo gelesen, dass es da zu Hardware schäden kommen könnte, da trotzdem versucht wird den bildschirm mit strom zu beliefern. Weiß nicht in wie fern da was dran ist, mir auch egal. Ohne externen oder überhaupt nen Bildschirm kann ich da nichts weiter dran kaputt machen ^^

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • History erstellen

    • Yjuq
    • 11. November 2014 um 16:52

    Du kannst z.B. die Windows Messages abfangen. Einfacher ist es jedoch permament den inhalt des input controls zu lesen und sobald das tool irgendeine art bestätigung heraus wirft, die letzte gelesene eingabe zu verwerten. :)

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • [spiel] Wünsch dir was !

    • Yjuq
    • 11. November 2014 um 15:25
    Spoiler anzeigen

    Bekommst du, aber nur damit du merkst dass sich nicht hinter jedes Gesicht eine Frau verbirgt. *hust* :D

    €dit:
    Sorry, hatte nicht gesehen dass wer vor mir geschrieben hat.

    Ja, bekommst du, die wird aber in deinem hals stecken bleiben...

    Ich wünsche mir ein Paar Geldscheine mehr, damit ich auch mal zu was neuem komme. :x

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • Laptop Display hinüber

    • Yjuq
    • 10. November 2014 um 21:00

    Naja, zumindest konnte ich jetzt schonmal den alten Bildschirm rausnehmen. Hat auch nur ne halbe Stunde gedauert. :D

    Ging doch leichter als wie ich mir das vorgestellt habe. Morgen wird dann neues display bestellt und dann bin ich happy wenn's ankommt. Dann brauch ich den mist nur noch wieder zusammen setzen. Ich denke das bekomm ich auch hin. ^^

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • Laptop Display hinüber

    • Yjuq
    • 10. November 2014 um 12:46

    Meine Garantie ist sowieso seit nem Jahr abgelaufen. Von daher egal. Danke für den Link, hab aber auch schon selber Anleitungen gefunden. Und ja, meine Angaben sind korrekt, lesen kann ich noch. ^^

    Ich frag mal nen Frrund von mir, der ist Elektriker, vielleicht kann der das. :/

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • Laptop Display hinüber

    • Yjuq
    • 9. November 2014 um 23:36

    Ich hab ein Acer Aspire oder wie das ding heißt. Einbau würde ich gerne jemanden überlassen der das kann.

    Ich bin für sowas total ungeeignet, mich überfordert es schon ne tütensuppe zu machen. *g*

    Danke für den tipp mit ebay euch beiden. Hab derzeitig nur 80€ zur Verfügung, und eigentlich kann ich auf mein Laptop nicht so lange verzichten...

    @Edit:
    Hab jetzt nochmal nachgeschaut, hab ein Acer Apire aus der Serie 7750 mit der Modellnummer P7YE0.

    Hab dazu schon einige Displays gefunden, die Kosten dazu belaufen sich irgendwo zwischen 60 und 100 Euro für ein Display. Was güstigeres konnte ich leider nicht finden.

    Falls sich hier wer im Forum findet der mir das dingen aiswechseln will, kann das liebend germe tun. ^^

    Ansonsten versuch ich mein Glück selbst X(

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • Laptop Display hinüber

    • Yjuq
    • 9. November 2014 um 20:56

    Tja, mein Laptop Bildschirm ist nun im Arsch. Ich kõnnte kotzen... Hat nen riss innen drinne, zeigt jetzt nur nich einen lightskyscreen an.

    Hatte das schonmal wer und/oder weiß wie teuer so ne Reperatur ist?

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

  • Weihnachtsmützen für euer Avatar !

    • Yjuq
    • 9. November 2014 um 16:03

    Nee, da ist leider keine dabei welcher meinem Avatar stehen würde. ^^

  • Wettbewerb (für Anfänger und Fortgeschrittene) ?

    • Yjuq
    • 6. November 2014 um 20:34

    Soa, ein Abgabetermin steht noch nicht fest oder?
    Ich wollte mal ein kurzes Statement abgeben und hoffe von der Konkurrenz ein wenig zu erfahren. ^^

    Habe bisher nur meine Analyse Funktion komplett umgesetzt (kurze & schnelle Analyse des Spielfeldes → Sprich, keine Vorausberechnung an möglichen Zugkombinationen) und konnte dies schon als „eigene“ KI umsetzen. Meine Analyse bringt mich bei 2x 500 Spielen auf einem 8x8 Spielfeld auf folgende Ergebnisse:

    Durchschnittliche Züge: 14.542 und 14.630 → 14.586 Züge
    Bei der Streuung: 1.73962311353761 und 1.797654896317

    Hier noch ein paar Werte für 16x16 Felder:

    Spoiler anzeigen
    Code
    _SolveMake|28.7|1.88856206322871|30|24|30|29|29|29|28|28|31|29
    _SolveMake|28.6|2.50333111406915|27|33|28|30|27|28|24|31|28|30
    _SolveMake|27.8|2.39443799947573|31|31|25|30|27|27|25|28|25|29
    _SolveMake|28|3.33333333333333|26|27|26|29|30|32|24|23|33|30
    _SolveMake|29.8|2.48551358430763|28|29|30|32|27|27|34|30|28|33
    _SolveMake|27.9|3.17804971641414|30|26|22|25|30|30|29|26|28|33
    _SolveMake|27.9|3.41402336775183|28|26|29|24|35|28|25|25|32|27
    _SolveMake|26.2|2.25092573548455|29|26|28|30|25|24|27|25|23|25
    _SolveMake|27.3|2.49666444147653|31|28|28|22|30|27|25|28|27|27
    _SolveMake|29.6|3.68781778291716|29|31|29|32|21|31|34|29|27|33

    Ich denke für den Anfang ist das ein gutes Ergebnis. Lässt sich bestimmt noch verbessern. ^^
    Wie sieht's bei euch aus? Nur dass man mal so einen groben Messwert hat und man weiß wie hoch die Messlatte gesetzt ist. :)

  • Noch ein Oldie

    • Yjuq
    • 6. November 2014 um 17:36
    Zitat von Andy

    [...] Ich verwende reflexartig alt+d für die Debug-Msgbox und ctrl+shift+d für Debug-Consolewrite. [...]

    Entweder hast du das geändert oder dich vertan. Standardmäßig ist das genau anders herum.

  • Sehr langer Text in Editbox soll nicht umbrechen - wie schaffe ich das?

    • Yjuq
    • 6. November 2014 um 17:18
    [autoit]

    $hGUI = GUICreate('', 120, 120)
    $idEdit = GUICtrlCreateEdit('', 10, 10, 100, 100)
    GUISetState()

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

    GUICtrlSetData($idEdit, 'Das ist ein Beispielstring!')

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

    While GUIGetMsg() <> -3
    WEnd

    [/autoit]

    Wie du siehst macht das Edit Control dies standardmäßig von selbst. Der dazu passende Style lautet WS_HSCROLL.

  • Noch ein Oldie

    • Yjuq
    • 6. November 2014 um 16:41

    Bezüglich von PRINT, alternativ kannst du ConsoleWrite nutzen (einfach in der referenz nachschauen). ConsoleWrite schreibt genau wie der Print Befehl die Daten in den STD-Out Stream. Zusätzlich ist es möglich die Konsole dabei einzuschalten, sodass du dich eigentlich diesbezüglich nicht großartig umstellen musst. (Die Konsolenausgabe siehst du übrigens direkt auch in der SciTE ganz unten in den Edit Control.)

    Variablen mit dem Suffix $ finde ich persönlicher ansprechender, da ich direkt weiß dass es sich um eine Variable handelt. (Ich weiß, kann man auch so direkt feststellen, aber ich mein ja nur ^^)

    Wo du dich vielleicht erst noch dran gewöhnen musst, AutoIt unterscheidet bei Funktionsnamen sowie Variablen NICHT zwischen Groß- und Kleinschreibung.

    Willkommen im Forum! :)

    Gesendet von meinem HTC Desire HD A9191 mit Tapatalk 2

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™