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

Beiträge von WhiteLion

  • WinSetOnTop bei InputBox(en) ... klappt nicht :(

    • WhiteLion
    • 28. Oktober 2010 um 15:59

    hallo leute,
    Ich habe wieder mal probleme meine inputbox mit $WS_EX_TOPMOST oder WinSetOnTop in den fordergrund zu setzen.

    Das hab ich probiert (geht nicht / kommt gar kein fenster mehr):

    [autoit]

    $hGUI8888 = GUICreate("", 200, 150, -1, -1, Default, $WS_EX_TOPMOST)
    If $indx[1] = 0 Then $newText = InputBox('Change entry', 'Please enter a vaild command!', _GUICtrlListView_GetItemText($hWnd33, $indx[0], $indx[1]),$hGUI8888)

    [/autoit]

    ...und hierbei bleibt das fenster im hintergrund als wäre WinSetOnTop völlig ignoriert bleiben:

    [autoit]

    If $indx[1] = 0 Then $newText = InputBox('Change entry', 'Please enter a vaild command!', _GUICtrlListView_GetItemText($hWnd33, $indx[0], $indx[1]))
    WinSetOnTop("Change entry","",1)

    [/autoit]

    was mache ich denn nu wieder falsch ?

  • return - frage

    • WhiteLion
    • 27. Oktober 2010 um 15:28

    das teil kenne ich schon, wenn ich mein script(oder andere etwas umfangreiche scripts) damit starte(run), dann passiert einfach nix, ausser das es einmal ein gui-refresh des debuggers gibt... mein laptop is 2Ghz core2duo / 4gb ram. also daran liegts wohl nicht.

  • return - frage

    • WhiteLion
    • 27. Oktober 2010 um 14:19

    okey, dann bringt das meine autoit-vorstellungswelt wenigstens nicht durcheinander. :)
    leider stehe ich wieder vor meinem bug problem bzw bin weiter von einem bugfix ;) entfernt.
    schade das es keinen funktionierenden debugger gibt :(

  • return - frage

    • WhiteLion
    • 27. Oktober 2010 um 11:22

    okey danke :D wenn das ausgeschlossen ist, dann fällt meine bugsuche schon anders aus :)
    das mit der endlosschleife war jetzt nur ein beispiel was ich gerad hier rengeklatscht habe.
    das du lieber BugFix um verschachtelte funktionsaufrufe herumkommst, ist für mich schwer
    vorstellbar. bei meinem aktuellen projekt habe ich ca. 7500 zeilen code und komme definitiv
    nicht sinnvoll drumherum :)

  • return - frage

    • WhiteLion
    • 27. Oktober 2010 um 10:50

    leider kann ích in der beschreibung des return befehls keine antwort finden :(
    ich möchte gerne wissen ob der return befehl wirklich immer nur in die überliegende
    funktion zurückkehrt oder ob es unter umständen sein kann, dass auch die überliegende funktion bei
    return übersprungen wird und aus der subroutine direkt in die main zurückgekehrt wird ?

    z.B.

    [autoit]


    While 1 ; hauptschleife / menüschleife
    _sub1()
    ;lande ich unter(welchen?) umständen auch manachmal direkt hier ?
    Wend

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

    Func _sub1
    _sub2()
    ;lande ich wirklich immer hier nach dem return ?
    _sub3()
    EndFunc

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

    Func _sub2
    return
    msgbox(0,"","Das passiert nicht mehr!")
    EndFunc

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

    Func _sub3
    msgbox(0,"","werde ich noch ausgeführt?")
    EndFunc

    [/autoit]

    Na ja, ich hoffe ihr wisst was ich meine.

  • udpsend/open - wie kontrollieren ob die verbindung steht ?

    • WhiteLion
    • 26. Oktober 2010 um 20:39

    na ja gtaspider, so steht es zumindest im beispiel und so hab ich es auch gemacht.
    doch leider kommt nie eine fehlermeldung selbst, wenn ich eine verbingung zum einem
    server den es gar nicht gibt aufbaue (quasi mit fakedaten), noch beim senden mit falschem login daten.
    so weit ich weiss gibts bei UDP ja auch gar keine rückmeldung beim senden, aber das
    es auch beim verbindungsaufbaus so ist, wusste ich nicht.

    verbindungsaufbau:

    [autoit]

    UDPStartup()
    $ipxxx = TCPNameToIP(GUICtrlRead($DEDI_IP_HOST_Input))
    $opendUDPsocket = UDPOpen($ipxxx, GUICtrlRead($DEDI_PORT_Input))
    If @error <> 0 Then
    msgbox(262144,"Error" ,"Something went wrong while opening UDP socket! Error: "&@error)
    _enableAllHotkeys()
    Return
    EndIf

    [/autoit]


    senden:

    [autoit]


    $udpstatus = UDPSend($opendUDPsocket, "ÿÿÿÿ rcon "& GUICtrlRead($DEDI_PASSWORD_Input) &" "& $xxsString)
    If $udpstatus = 0 then
    msgbox(262144, "Error", "Error while sending UDP string! Error: " & @error)
    Return
    EndIf

    [/autoit]
  • ini-datei löschen - problem

    • WhiteLion
    • 26. Oktober 2010 um 20:16

    verdammt :) so ein dummer fehler.
    danke!

  • ini-datei löschen - problem

    • WhiteLion
    • 26. Oktober 2010 um 17:55

    hallo,
    schon wieder ein problem :(
    ich hab eine ini-die an sämtlichen stellen im programm verwendung findet.
    leider kann ich diese nicht mit filedelete löschen und anschließend mit mit fileinstall neu schreiben.
    das löschen scheint das problem:

    [autoit]

    Case $fixmsini
    FileDelete(@ScriptDir & "ms.ini")
    $temexist = FileExists(@ScriptDir & "ms.ini")
    if $temexist <> 0 then MsgBox(262208,"Error", "Could not delete file:"&$temexist)
    Sleep(5000)
    _msexist() ;schreibt neu mit fileinstall wenn nicht vorhanden
    IniWrite(@ScriptDir & "\ms.ini", "Options", "PID", $F17)

    [/autoit]

    hat jemand rat ?

  • udpsend/open - wie kontrollieren ob die verbindung steht ?

    • WhiteLion
    • 26. Oktober 2010 um 13:24

    danke für den versuch.
    dennoch kann hats nicht geholfen :(
    denn du gehst in beiden varianten von dingen aus die
    nicht immer zu treffen. zum einen hab ich nicht immer zugriff auf den server und kann somit
    keine programme installieren die irgendwie antworten oder variablem zurückgeben.
    zum anderen ist nicht jeder server immer über tcp ping-bar.
    hat jemand noch eine andere lösung ?

  • udpsend/open - wie kontrollieren ob die verbindung steht ?

    • WhiteLion
    • 26. Oktober 2010 um 12:12

    moin, ich verwende udpsend um befehle zum server zu schicken.
    klappt auch so weit. jetzt gibts ja keine rückmeldung über die packete
    wie bei TCP ... so weit so gut. allerdings würde ich zumindest gerne
    feststellen ob die verbindung bzw das login zur gegenstellt/server überhaupt
    hergestellt wurde. wie mache ich das ? geht das überhaupt ?

  • WinSetOnTop bei FileOpenDialog - wie geht das ?

    • WhiteLion
    • 25. Oktober 2010 um 21:52

    verdammt ... dran hab ich gar nicht gedacht!
    du alter fuchs!
    thx ;)

  • WinSetOnTop bei FileOpenDialog - wie geht das ?

    • WhiteLion
    • 25. Oktober 2010 um 21:35

    Moin leute,
    ich habe alle meine guis/fenster mit WinSetOnTop gesetzt. Leider hab ich keine ahnung wie ich das
    ganze bei FileOpenDialog /en anwenden soll....
    hier mal ein ausschnitt meines codes:

    [autoit]


    $selectedlogofile = FileOpenDialog("Select a .jpg-file", @ScriptDir &"\hktlogos\", "Logofiles files (*.jpg)")
    if @error then
    Else
    if StringInStr($selectedlogofile, "hktlogos") > 1 Then
    FileChangeDir(@ScriptDir)
    IniWrite("ms.ini", "Options", "logodir", $selectedlogofile)
    _logochangenocopy($selectedlogofile)
    Else
    Local $random2 = Random(111111,9999999, 1)
    Local $name66 = @ScriptDir &"\hktlogos\"&$random2&".jpg"
    FileChangeDir(@ScriptDir)
    FileCopy($selectedlogofile, $name66, 1)
    _logochangeandcopy($name66)
    IniWrite("ms.ini", "Options", "logodir", $name66)
    EndIf
    EndIf

    [/autoit]
  • png-hover GUI

    • WhiteLion
    • 15. Oktober 2010 um 12:45

    hi leute,
    ich hab mir mal ein GUI beispiel runtergeladen (irgendwo hier, weiss aber nicht mehr wo)
    jetzt würde ich gerne die se GUI mit 3 buttons versehen, quasi das jedes mal beim hover
    das komplette gui ausgetauscht wird. die knöpfe würde ich dann auf die .pngs malen
    hat jemand eine idee wie ich das am besten umsetze ?

    hier der code:

    [autoit]

    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>
    #include <GuiConstantsEx.au3>
    #include <StaticConstants.au3>
    Global Const $AC_SRC_ALPHA = 1

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

    _GDIPlus_Startup()

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

    $pngSrc = @ScriptDir & "\ped1.png"
    ;This allows the png to be dragged by clicking anywhere on the main image.
    GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST")
    $GUI = _GUICreate_Alpha("Look at the shiny", $pngSrc)
    $myGuiHandle = WinGetHandle("Look at the shiny")
    GUISetState()

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

    GUISetState()
    $i = 0

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

    While 1
    $i = $i + 1
    If $i = 255 Then $i = 0
    $msg = GUIGetMsg()
    $advMsg = GUIGetMsg(1)
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

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

    EndSelect
    ;SetBitMap($TransparentButtonTest2, $hImageButton2, $i)
    WEnd

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

    _GDIPlus_Shutdown()

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

    Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam)
    If ($hwnd = WinGetHandle("Look at the shiny")) And ($iMsg = $WM_NCHITTEST) Then
    Return $HTCAPTION
    EndIf
    EndFunc

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

    Func _GUICreate_Alpha($sTitle, $sPath, $iX=-1, $iY=-1, $iOpacity=255)
    Local $hGUI, $hImage, $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
    $hImage = _GDIPlus_ImageLoadFromFile($sPath)
    $width = _GDIPlus_ImageGetWidth($hImage)
    $height = _GDIPlus_ImageGetHeight($hImage)
    $hGUI = GUICreate($sTitle, $width, $height, $iX, $iY, $WS_POPUP, $WS_EX_LAYERED)
    $hScrDC = _WinAPI_GetDC(0)
    $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
    $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
    $hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
    $tSize = DllStructCreate($tagSIZE)
    $pSize = DllStructGetPtr($tSize)
    DllStructSetData($tSize, "X", $width)
    DllStructSetData($tSize, "Y", $height)
    $tSource = DllStructCreate($tagPOINT)
    $pSource = DllStructGetPtr($tSource)
    $tBlend = DllStructCreate($tagBLENDFUNCTION)
    $pBlend = DllStructGetPtr($tBlend)
    DllStructSetData($tBlend, "Alpha", $iOpacity)
    DllStructSetData($tBlend, "Format", 1)
    _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, 2)
    _WinAPI_ReleaseDC(0, $hScrDC)
    _WinAPI_SelectObject($hMemDC, $hOld)
    _WinAPI_DeleteObject($hBitmap)
    _WinAPI_DeleteObject($hImage)
    _WinAPI_DeleteDC($hMemDC)
    EndFunc ;==>_GUICreate_Alpha

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

    Func SetBitmap($hGUI, $hImage, $iOpacity)
    Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
    $hScrDC = _WinAPI_GetDC(0)
    $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
    $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
    $hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
    $tSize = DllStructCreate($tagSIZE)
    $pSize = DllStructGetPtr($tSize)
    DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
    DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
    $tSource = DllStructCreate($tagPOINT)
    $pSource = DllStructGetPtr($tSource)
    $tBlend = DllStructCreate($tagBLENDFUNCTION)
    $pBlend = DllStructGetPtr($tBlend)
    DllStructSetData($tBlend, "Alpha", $iOpacity)
    DllStructSetData($tBlend, "Format", $AC_SRC_ALPHA)
    _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
    _WinAPI_ReleaseDC(0, $hScrDC)
    _WinAPI_SelectObject($hMemDC, $hOld)
    _WinAPI_DeleteObject($hBitmap)
    _WinAPI_DeleteDC($hMemDC)
    EndFunc ;==>SetBitmap

    [/autoit]
  • parameter durch browserlink an programm übergeben

    • WhiteLion
    • 2. Oktober 2010 um 22:41

    also irgendiwe komme ich nicht weiter... das beispiel script checke ich nicht. bzw weiss ich nicht wo sich diese objecte die im browser geöffnet werden befinden. weiterhin wird der internet exprorrer geöffnet und was passiert wenn jedemand einen anderen browser nutzt ? - sorry ich hab noch nie mit den autoit funktionen vom ie gearbeitet.

  • parameter durch browserlink an programm übergeben

    • WhiteLion
    • 2. Oktober 2010 um 11:37

    aja, aber es muss auch anders gehen, denn es gibt eininge programme die das nutzen.... z.B. jdownloader.

  • parameter durch browserlink an programm übergeben

    • WhiteLion
    • 2. Oktober 2010 um 08:44

    hi,
    ich würde gerne wissen wie ich parameter an mein tool übergebe bzw ein automatischen toolaufruf erzeuge.
    z.B. ich habe im browser einen link der so aussieht: "xyz://parameter1/parameter2" ich möchte das beim klick
    diese parameter1 +2 an mein programm in ein inputfeld übergeben werden. wenn das programm nicht läuft sollte es starten.

    danke für die antworten.

  • hex werte in string wandeln.

    • WhiteLion
    • 26. September 2010 um 15:46

    wenn autoit beim schreiben mal genauso schnell ist, wie dafür optimierte sprachen ist das ja schön, stellt aber nicht die regel da. meine frage blieb unbeantwortet sonden wurde mal wieder mit der typischen bot-spamm-antwort geflammt.
    ob ich mir hier die blöße gebe, weil ich deiner meinung die SuFu nicht richtig bedient habe, ist doch deine subjektive meinung...
    ich muss hier nicht den profi spielen weil ich mit dem projekt mehr erfolg hatte als andere oder mich einschränken/fehlerfrei sein.
    im grunde sehe ich es so: ich habe genug energie aufgewendet für eine nützliche sache (tool) die ich zum selbstkostenpreis (serverkosten) bereit gestellt habe, dass ich mir auch mal dumme und einfache fragen erlauben darf.
    wie auch immer ... kannst du closen hier ... ist mir zu blöd mich hier flamen zu lassen.

  • hex werte in string wandeln.

    • WhiteLion
    • 26. September 2010 um 13:55

    wie gesagt, das project hat +1400 registrierte nutzer und ist frei für jeden zu benutzen, sag bescheid wenn du in meinem tool art von speichermanipulation gefunden hast, aber verbreite hier keinen blödsinn.... deine antivirus sucht auch im RAM und manipuliert nix und ist auch kein bot...

    wenn du speicher ordentlich manipulieren willst nimmst du besser eine sprache die auch entsprechende geschwindigeit hat wie C++ / ASM oder einen fertigen memorypatcher ... vom cheat engine / UP ....dazu brauchst du nun wirklich nicht autoit.

  • hex werte in string wandeln.

    • WhiteLion
    • 26. September 2010 um 13:20

    falsch ... ich lese nur werte aus ohne zu schreiben.
    kannst wohl kein autoit oder seit wann ist _MemoryRead eine modifikation?
    du darfst dich gerne überzeugen und das tool runterladen:
    zensiert ;)

  • hex werte in string wandeln.

    • WhiteLion
    • 26. September 2010 um 13:08

    hiho,
    ich habe folgendes:

    [autoit]

    #include <NomadMemory.au3>

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

    SetPrivilege("SeDebugPrivilege", 1)

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

    While Not ProcessExists("iw4mp.dat")
    Sleep(200)
    WEnd

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

    $Open = _memoryopen(ProcessExists("iw4mp.dat"))

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

    $Read = _MemoryRead(0x7859C0, $Open, 'int')
    $Read = Hex($Read)
    MsgBox(0,"",$Read)

    [/autoit]

    jetzt bekomme ich ja zumindest (dank hex) schonmal den string in 4 hexa werte gewandelt... nur wie bekomme ich aus diesem jetzt den eigentlich string also wenn man so will die ascii zeichen???

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™