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

Beiträge von name22

  • AutoIt Programm ist nicht im Kontextmenü

    • name22
    • 1. April 2012 um 13:42

    Was ist bei dir in der Registry unter HKEY_CLASSES_ROOT\AutoIt3Script\Shell?
    Normalerweise müssten da die Einträge Compile, Run, Edit etc. sein.

  • Opt("TrayMenuMode", 1+2) mit RUN & Send

    • name22
    • 1. April 2012 um 13:21
    Zitat von name22

    Der Rückgabewert von TrayGetMsg beinhaltet die ID des TrayMenuItems das angeklickt wurde.


    Du vergleichst aber den Rückgabewert von GUIGetMsg mit den ID's der TrayMenuItems. GUIGetMsg und TrayGetMsg sind 2 verschiedene Funktionen ;).
    Deine Hauptschleife müsste eher so aussehen:

    Spoiler anzeigen
    [autoit]

    While True
    $nMsg = TrayGetMsg()
    Switch $nMsg
    Case $tool1
    Send("#r")
    Case $tool10
    Run("mstsc")
    ;etc...
    EndSwitch
    WEnd

    [/autoit]
  • Opt("TrayMenuMode", 1+2) mit RUN & Send

    • name22
    • 1. April 2012 um 12:33

    Wo kommt denn bitte $nMSg her? Der Rückgabewert von TrayGetMsg beinhaltet die ID des TrayMenuItems das angeklickt wurde.
    Ich würde dir empfehlen, das ganze wie mit einer normalen MessageLoop zu machen. Also am Anfang der Schleife $nMsg = TryGetMsg() und dann eine Switch Abfrage mit $nMsg um herauszufinden welches TrayItem angeklickt wurde.
    Und wieso benutzt du GUISetState vor GUICreate? :huh:

  • Kleine Binär Uhr

    • name22
    • 31. März 2012 um 23:20

    Nett. Die Idee hatte ich auch mal vor einiger Zeit. Die Sekundenanzeige ist ein klein wenig zu viel finde ich, aber das ist wohl geschmackssache. ;)

  • Autoit Window Info und eine Checkbox

    • name22
    • 31. März 2012 um 16:58

    Abgesehen davon, liegt dein Problem vermutlich daran, dass du die ID von dem Control verwendest. Die ID kann aber bei jedem Start des programms anders sein. Vielleicht klappt es ja mit einem anderen Wert, wie Class und Instance.
    Das ganze brauchst du aber eigentlich sowieso nicht, wenn du den Silent Switch verwendest wie andygo geschrieben hat. ^^
    Und "X funktioniert nicht." ist keine gute Problembeschreibung ;).

  • Kollisionen (in 2D)

    • name22
    • 28. März 2012 um 18:21

    Gute Sache. Alternativ geht das auch so:

    Spoiler anzeigen
    [autoit]

    #include <GDIP.au3>
    #include <GUIConstants.au3>
    #include <Misc.au3>

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

    Opt("GUIOnEventMode", 1)

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

    $iGUIColorBG = 0xFFFFFFFF
    $iGUIWidth = 400
    $iGUIHeight = 400

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

    $hWnd = GUICreate("Test", $iGUIWidth, $iGUIHeight)
    GUISetState()

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

    _GDIPlus_Startup()

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iGUIWidth, $iGUIHeight, $hGraphic)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    _GDIPlus_GraphicsSetSmoothingMode($hBuffer, 2)

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

    $hPenRed = _GDIPlus_PenCreate(0xFFFF0000)
    $hPenGreen = _GDIPlus_PenCreate(0xFF00FF00)

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

    $hPath = _GDIPlus_PathCreate()
    _GDIPlus_PathAddLine($hPath, 50, 50, 100, 50)
    _GDIPlus_PathAddLine($hPath, 100, 50, 75, 100)
    _GDIPlus_PathAddLine($hPath, 75, 100, 50, 50)

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

    _GDIPlus_GraphicsDrawPath($hGraphic, $hPath)

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

    $hRegion = _GDIPlus_RegionCreateFromPath($hPath)

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

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

    While Sleep(20)
    _GDIPlus_GraphicsClear($hBuffer, $iGUIColorBG)

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

    $aMousePos = GUIGetCursorInfo()
    Switch _GDIPlus_RegionIsVisiblePoint($hRegion, $aMousePos[0], $aMousePos[1], $hBuffer)
    Case True
    _GDIPlus_GraphicsDrawPath($hBuffer, $hPath, $hPenGreen)
    Case False
    _GDIPlus_GraphicsDrawPath($hBuffer, $hPath, $hPenRed)
    EndSwitch

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

    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $iGUIWidth, $iGUIHeight)
    WEnd

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

    Func _Exit()
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_GraphicsDispose($hBuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_RegionDispose($hRegion)
    _GDIPlus_PathDispose($hPath)
    _GDIPlus_PenDispose($hPenGreen)
    _GDIPlus_PenDispose($hPenRed)
    _GDIPlus_Shutdown()
    Exit
    EndFunc

    [/autoit]


    Aber dein Script ist da flexibler und von der Rechnung her effizienter.

  • RegExp - mehrere Stellen in einem String sollen gefunden werden

    • name22
    • 28. März 2012 um 18:19

    Die Zeile würde alle passenden Unterfelder finden. Auch in Feld 2 oder 3 etc..
    Probier mal das hier:

    [autoit]

    $regexp_test = StringRegExp($database,'(?s)<Item Class="Feld_1" ID="{(.*?)}">.*?<Unterfeld_1>(.*?)</Unterfeld_1>.*?<Unterfeld_2>(.*?)</Unterfeld_2>.*?<Unterfeld_5>(.*?)</Unterfeld_5>.*?</Item>',3)

    [/autoit]
  • Spätes "Hallo!" :)

    • name22
    • 27. März 2012 um 21:35
    Zitat

    das Projekt liegt dann erst mal auf Eis, doch die Theorie lässt mich nicht los und ich setze mich immer wieder dran, bis es schließlich funktioniert.
    Aber meistens läuft es ganz gut. :)


    Kenne ich. Nur die Wiederaufnahme klappt bei mir nicht immer so gut. ;)
    Herzlich Willkommen im Forum. :thumbup:

  • RegExp - mehrere Stellen in einem String sollen gefunden werden

    • name22
    • 27. März 2012 um 21:21

    Wenn sich das gesuchte Feld öfters ändern, dann musst du das Pattern mit Hilfe von Variablen flexibler gestalten.
    Zum Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    $sTest = "<AutoIt>1243287</Autoit>" & @CRLF & "<Andre>83847</Andre>" & @CRLF & "<Test>65312</Test>" & @CRLF & "<foo>444</foo>" & @CRLF & "<1337>34535</1337>" ;HTML String

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

    Dim $aSearch[3] = ["AutoIt", "Test", "1337"] ;Suchbegriffe
    Dim $aResult[1] = [0] ;Ergebnis Array
    For $i = 0 To UBound($aSearch) - 1
    $sTemp = StringRegExpReplace($sTest, "(?i)(?s).*<" & $aSearch[$i] & ">(.+?)</" & $aSearch[$i] & ">.*", "$1")
    If Not @error Then
    $aResult[0] += 1
    ReDim $aResult[$aResult[0] + 1]
    $aResult[$aResult[0]] = $sTemp
    EndIf
    Next

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

    _ArrayDisplay($aResult)

    [/autoit]

    Aber ich denke, da ist i2cs Vorschlag wesentlich besser.

  • RegExp - mehrere Stellen in einem String sollen gefunden werden

    • name22
    • 27. März 2012 um 20:41

    Hm. Gut wir können es ja mal mit RegEx versuchen. Welche Stellen willst du auslesen. Nur Feld 1 mit Unterfeld 1, 2, 5?

  • SciTE - alte Farben oder neue Farben - Abstimmung

    • name22
    • 27. März 2012 um 17:18

    Hast du vielleicht ne wichtige properties Datei aus dem SciTE Verzeichnis gelöscht?

  • RegExp - mehrere Stellen in einem String sollen gefunden werden

    • name22
    • 26. März 2012 um 21:50
    Zitat

    Das liegt leider, am ".":
    "Normally matches any character except a newline. "
    Aber da findest du sicher selber ein Weg dran vorbei:)


    Was?...

    Zitat von Hilfe

    (?s) . matches anything including newline. (by default "." don't match newline)


    Ich hab ihm bei dem Pattern in der SB geholfen, und ihm das mit dem (?s) switch schon gesagt ;).

    @Andre Kannst du mal zeigen, welches Pattern du genau wie verwendet hast? Am besten den Ausschnitt im Quellcode. Vielleicht auch gleich noch ein Beispiel, dann wissen wir wie das Pattern ungefähr aussehen muss.

  • .Ma3ter. on Board

    • name22
    • 26. März 2012 um 18:19

    Herzlich Wilkommen .Ma3ter.. :)
    Ich wünsch dir viel Spaß auf autoit.de.

  • Au3 in exe umwandeln

    • name22
    • 26. März 2012 um 15:47

    Da hast du aber viel in meinen kurzen Beitrag hineininterpretiert... Es war weder mein Ziel herablassend zu wirken, noch dich als dumm zubezeichnen. Wie du darauf kommst kann ich kaum nachvollziehen... Woher sollte ich denn bitte wissen wie wichtig das Passwort ist, und wofür es nachher von wem verwendet wird? Aus deinem ersten Beitrag ist für mich nicht mal ersichtlich, was du eigentlich willst. "Aber mach das wie du meinst" sollte heißen "Aber mach das wie du meinst" wo soll da ein tieferer Sinn sein?

  • Au3 in exe umwandeln

    • name22
    • 25. März 2012 um 21:10

    Ein normaler User kann ohne Decompiler gar nichts von deinem ursprünglichen Quellcode lesen, es sein denn du aktivierst die entsprechende Funktion mit der selbiger in der .exe hinterlegt wird.
    Ich würde da zwar auf Nummer sicher gehen, aber mach das wie du meinst ;).

  • Au3 in exe umwandeln

    • name22
    • 25. März 2012 um 20:53
    Zitat

    Über kryptographische Hashfunktionen, wie md5, sollte sich aber trotzdem einge gewisse Sicherheit garantieren lassen, da die erstellten Hashes nur schwer wieder zurückgewandelt werden können


    Das hab ich mir auch gedacht, aber ich denke er braucht das Passwort am Ende wieder in Klartextform, um es mit seinem programm nutzen zu können. Und wenn das Script das Passwort decrypten kann, kann jeder mit einem decompiler das auch.

  • Au3 in exe umwandeln

    • name22
    • 25. März 2012 um 20:42

    Die wohl einzig sichere Lösung: Das Passwort nicht in das Script schreiben. Über das Thema haben wir bereist ein paar mal diskutiert, und sind zu dem Schluss gekommen, dass Passwörter aufgrund der einfachen Dekompilierbarkeit der AutoIt .exe's in einem .au3 Script nicht sicher untergebracht sind. Es gibt sicherere Orte ein Passwort unterzubringen...

  • datei löschen erzwingen

    • name22
    • 25. März 2012 um 20:00

    christopher Mein Script läuft nicht die ganze Zeit während Iron aktiv ist, und löscht die Datei vorher. Ich hab keine Ahnung welche Version j!nx braucht, aber so wie sichs anhört kann er sich das ja auch selbst zusammenbasteln.

  • Fensterfarbe ändern (Aero-Design)

    • name22
    • 25. März 2012 um 19:28

    Das wird dann wohl unter Vista nicht funktionieren.. Ich bin mir ziemlich sicher, dass das unter Vista auch irgendwie gehen muss. Aber leider bin ich mir nicht sicher wie...
    Die Registry kannst du aber vermutlich vergessen, da nur durch eine Bearbeitung des Wertes in der Registry Änderungen erst nach einem Neustrart/Neuanmeldung übernommen werden.
    Eventuell kann man die Funktion auch auf Vista umschreiben.

  • Verbesserungsmöglichkeiten

    • name22
    • 25. März 2012 um 18:54

    Finde ich eher unnötig. Wenn das Problem des Threaderstellers gelöst wurde, kann er sich ja per Beitrag bedanken. Falls jemand per SuFu oder Google auf einen Thread/Beitrag stößt der ihm weiterhilft, kann derjenige ja auf den "+1" Button klicken, um dieses Stück Text in den Google Pageranks aufsteigen zu lassen.

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™