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

Beiträge von alpines

  • Steuerung FritzBox (login)

    • alpines
    • 28. Januar 2015 um 13:07

    Ich hatte das auch per WinHttp versucht, allerdings kam da ein anderer Hash raus und ich habs gelassen.
    Ging sehr viel einfacher mit der IE.au3.

  • HTML-Class > Value verändern?

    • alpines
    • 26. Januar 2015 um 16:33

    Kenne mich mit Javascript kaum aus, hab mich nur auf die IE Befehle verlassen.

  • HTML-Class > Value verändern?

    • alpines
    • 26. Januar 2015 um 16:12

    Geht anscheinend nicht, kriege auch eine 0 raus. Dann musst du wohl inputs verwenden.

  • HTML-Class > Value verändern?

    • alpines
    • 26. Januar 2015 um 16:02

    Das liegt daran weil der Pfad falsch ist. Versuch mal folgendes.

    [autoit]

    _IENavigate($oIE, "file://rechnung.html")

    [/autoit]

    So gehts auf jeden Fall.

    [autoit]

    #include <IE.au3>

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

    $oIE = _IECreateEmbedded()
    $Form1 = GUICreate("Form1", 615, 437, 192, 124)
    GUICtrlCreateObj($oIE, 0, 0, 611, 433)
    GUISetState(@SW_SHOW)

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

    _IENavigate($oIE, "file://C:\Users\DeinUserName\Desktop\index.html")

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    Und in der index.html steht folgendes

    HTML
    <html><body><h1>Ich bin in einem embedded Browsercontrol!</h1></body></html>

    .

  • HTML-Class > Value verändern?

    • alpines
    • 26. Januar 2015 um 15:18

    Am besten nimmst du als Objekt einen embedded IE. Da gibt es viele Befehle womit du das machen kannst.
    Du musst allerdings im HTML-Dokument id="vorname" hinzufügen.

    [autoit]

    #include <IE.au3>
    $oIE = _IECreateEmbedded()
    $oObj = GUICtrlCreateObj($oIE, ...)

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

    $oVorname = _IEGetObjById($oIE, "vorname")
    $sVorname = _IEFormElementGetValue($oVorname)

    [/autoit]
  • Tasten nicht loslassen

    • alpines
    • 25. Januar 2015 um 22:55

    Das ist leider nicht das gleiche. Es ist ein Unterschied ob ich 1000x Down drücke oder ich eine Sekunde lang Down halte.

  • Tasten nicht loslassen

    • alpines
    • 25. Januar 2015 um 21:43

    Sind die drei Zeilen dein gesamtes Script, oder enthältst du uns etwas vor?
    // Bei mir funktionierts auch nicht, verwendest du auch Win 8.1?

  • Tasten nicht loslassen

    • alpines
    • 25. Januar 2015 um 21:30

    Crosspost: forum/autoit/3579149-taste-gedr-ckt-halten.html

    Wo hast du denn versucht die unten Taste gedrückt zu halten?

  • Snake - kleiner Zeitvertreib für Zwischendurch

    • alpines
    • 25. Januar 2015 um 17:58

    Den Bug hab ich auch während der Entwicklung bemerkt, ich hab keine Ahnung wo das Problem liegt, aber es passiert nur wenn der Klotz am Rand ist und man senkrecht darauf zusteuert.

  • Galgenraten-Spiel (FullHD)

    • alpines
    • 25. Januar 2015 um 16:09

    Ich hab die 3.3.12.0 und einen Full HD Monitor und es läuft ohne Probleme.

    An die Leute die keinen Full HD Monitor haben aber es trotzdem verwenden möchten: Nvidia bspw. bietet im Treiber Downsampling an. Dort wird Full HD vorgerendert und auf die wirkliche Größe verkleinert.

  • Diashow Bilder richtig anzeigen

    • alpines
    • 23. Januar 2015 um 14:52
    Zitat von ShitDown

    _WinAPI_GetWindowHeight() und _WinAPI_GetWindowWidth().


    WinGetPos auch, dann muss man nicht die WinAPI.au3 includen.

  • Email senden

    • alpines
    • 22. Januar 2015 um 15:57

    Das ist ja mal richtig produktiv... An der UDF liegt es nicht, die verwende ich selber und alles ist tip top. Erstelle doch mal bei deinem Mailanbieter wo es nicht funktioniert einen Testaccount und trage die Daten hier ein.

  • Snake - kleiner Zeitvertreib für Zwischendurch

    • alpines
    • 19. Januar 2015 um 16:41

    Halli hallo,

    da ich mir vor einer Weile einen Mikrocontroller bestellt habe auf dem ich kleine Spiele spielen möchte (mit einer 9x14 LED-Matrix und 4x4 Keypad-Matrix) habe ich hier Snake gecodet.
    Ich wollte es so einfach wie möglich halten damit ich den Code für das Board übernehmen kann.

    Feedback ist gerne gesehen! :)

    AutoIt
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>
    
    Opt("GUIOnEventMode", 1)
    
    Global $hDLL = DllOpen("user32.dll")
    
    Local $iScale = 15
    Local $aDimensions = StringSplit(InputBox("Size", "Field size:", "20x20"), "x", 2)
    
    Local $aControls[$aDimensions[0]][$aDimensions[1]]
    Local $aPlayerPosition[2][3] = [[3, 2], [3, 3, "down"]]
    Local $iIncX = 0, $iIncY = 1
    Local $aBonbon[2]
    Local $aOldPosition[2] = [$aPlayerPosition[0][0], $aPlayerPosition[1][1]]
    Local $iScore = 0
    
    $bEscape = False
    
    While Not $bEscape
    $x = Random(0, $aDimensions[0] - 1, 1)
    $y = Random(0, $aDimensions[1] - 1, 1)
    
    $bEscape = True
    
    For $i = 0 To UBound($aPlayerPosition) - 1
    If $aPlayerPosition[$i][0] = $x or $aPlayerPosition[$i][1] = $y Then $bEscape = False
    Next
    WEnd
    
    $aBonbon[0] = $x
    $aBonbon[1] = $y
    
    GUICreate("Snake", $aDimensions[0] * $iScale, $aDimensions[1] * $iScale, -1, -1)
    
    For $y = 0 To $aDimensions[1] * $iScale - 15 Step $iScale
    For $x = 0 To $aDimensions[0] * $iScale - 15 Step $iScale
    $aControls[$x / $iScale][$y / $iScale] = GUICtrlCreateLabel("", $x, $y, $iScale, $iScale)
    GUICtrlSetBkColor(-1, 0)
    Next
    Next
    
    GUICtrlSetBkColor($aControls[$aPlayerPosition[0][0]][$aPlayerPosition[0][1]], 0x00FF00)
    GUICtrlSetBkColor($aControls[$aPlayerPosition[1][0]][$aPlayerPosition[1][1]], 0x00FF00)
    GUICtrlSetBkColor($aControls[$aBonbon[0]][$aBonbon[1]], 0x00FF00)
    
    GUISetOnEvent(-3, "_Exit")
    GUISetState(@SW_SHOW)
    
    While 1
    $sButton = _Sleep(200)
    $aOldPosition[0] = $aPlayerPosition[0][0]
    $aOldPosition[1] = $aPlayerPosition[0][1]
    
    If $sButton = "26" and $aPlayerPosition[UBound($aPlayerPosition) - 1][2] <> "down" and $aPlayerPosition[UBound($aPlayerPosition) - 1][2] <> "up" Then
    $aPlayerPosition[UBound($aPlayerPosition) - 1][2] = "up"
    $iIncY = -1
    $iIncX = 0
    ElseIf $sButton = "25" and $aPlayerPosition[UBound($aPlayerPosition) - 1][2] <> "right" and $aPlayerPosition[UBound($aPlayerPosition) - 1][2] <> "left" Then
    $aPlayerPosition[UBound($aPlayerPosition) - 1][2] = "left"
    $iIncX = -1
    $iIncY = 0
    ElseIf $sButton = "27" and $aPlayerPosition[UBound($aPlayerPosition) - 1][2] <> "left" and $aPlayerPosition[UBound($aPlayerPosition) - 1][2] <> "right" Then
    $aPlayerPosition[UBound($aPlayerPosition) - 1][2] = "right"
    $iIncX = 1
    $iIncY = 0
    ElseIf $sButton = "28" and $aPlayerPosition[UBound($aPlayerPosition) - 1][2] <> "up" and $aPlayerPosition[UBound($aPlayerPosition) - 1][2] <> "down" Then
    $aPlayerPosition[UBound($aPlayerPosition) - 1][2] = "down"
    $iIncY = 1
    $iIncX = 0
    EndIf
    
    For $i = 0 To UBound($aPlayerPosition) - 1
    If $aPlayerPosition[UBound($aPlayerPosition) - 1][0] + $iIncX = $aPlayerPosition[$i][0] and $aPlayerPosition[UBound($aPlayerPosition) - 1][1] + $iIncY = $aPlayerPosition[$i][1] Then _Exit()
    Next
    
    If $aPlayerPosition[UBound($aPlayerPosition) - 1][0] + $iIncX = $aBonbon[0] and $aPlayerPosition[UBound($aPlayerPosition) - 1][1] + $iIncY = $aBonbon[1] Then
    ReDim $aPlayerPosition[UBound($aPlayerPosition) + 1][3]
    $aPlayerPosition[UBound($aPlayerPosition) - 1][0] = $aBonbon[0]
    $aPlayerPosition[UBound($aPlayerPosition) - 1][1] = $aBonbon[1]
    $aPlayerPosition[UBound($aPlayerPosition) - 1][2] = $aPlayerPosition[UBound($aPlayerPosition) - 2][2]
    
    If UBound($aPlayerPosition) = $aDimensions[0] * $aDimensions[1] Then
    MsgBox(64, "Congratulations", "Good job, you beat the game!")
    Exit
    EndIf
    
    $bEscape = False
    
    While Not $bEscape
    $x = Random(0, $aDimensions[0] - 1, 1)
    $y = Random(0, $aDimensions[1] - 1, 1)
    
    $bEscape = True
    
    For $i = 0 To UBound($aPlayerPosition) - 1
    If $aPlayerPosition[$i][0] = $x or $aPlayerPosition[$i][1] = $y Then $bEscape = False
    Next
    WEnd
    
    $aBonbon[0] = $x
    $aBonbon[1] = $y
    GUICtrlSetBkColor($aControls[$aBonbon[0]][$aBonbon[1]], 0x00FF00)
    $iScore += 1
    Else
    For $i = 1 To UBound($aPlayerPosition) - 1
    $aPlayerPosition[$i - 1][0] = $aPlayerPosition[$i][0]
    $aPlayerPosition[$i - 1][1] = $aPlayerPosition[$i][1]
    Next
    
    $aPlayerPosition[UBound($aPlayerPosition) - 1][0] = $aPlayerPosition[UBound($aPlayerPosition) - 2][0] + $iIncX
    $aPlayerPosition[UBound($aPlayerPosition) - 1][1] = $aPlayerPosition[UBound($aPlayerPosition) - 2][1] + $iIncY
    EndIf
    
    If $aPlayerPosition[UBound($aPlayerPosition) - 1][0] < 0 or $aPlayerPosition[UBound($aPlayerPosition) - 1][0] > $aDimensions[0] - 1 or $aPlayerPosition[UBound($aPlayerPosition) - 1][1] < 0 or $aPlayerPosition[UBound($aPlayerPosition) - 1][1] > $aDimensions[1] - 1 Then _Exit()
    
    For $i = 0 To UBound($aPlayerPosition) - 1
    GUICtrlSetBkColor($aControls[$aPlayerPosition[$i][0]][$aPlayerPosition[$i][1]], 0x00FF00)
    Next
    
    GUICtrlSetBkColor($aControls[$aOldPosition[0]][$aOldPosition[1]], 0)
    WEnd
    
    Func _Sleep($iMs)
    Local $hTimer = TimerInit()
    Local $sKey = ""
    
    While TimerDiff($hTimer) < $iMs
    $sKey = _IsPressed("26", $hDLL) ? "26" : _IsPressed("25", $hDLL) ? "25" : _IsPressed("27", $hDLL) ? "27" : _IsPressed("28", $hDLL) ? "28" : $sKey
    WEnd
    
    Return $sKey
    EndFunc
    
    Func _Exit()
    MsgBox(64, "Oops!", "You failed!" & @CRLF & "Score: " & $iScore)
    Exit
    EndFunc
    Alles anzeigen

    Wer will kann es auch gern über den Anhang herunterladen.

  • Auslesen eines GUI-Inputs

    • alpines
    • 15. Januar 2015 um 22:33

    Ich sollte das beim nächsten Male besser lesen...

    Die Variablen die du mit GUICtrlRead da erstellst sind keinenReferenz. D.h. wenn du den aktuellen Text vom Control auslesen willst, musst du immer GUICtrlRead verwenden. Einmal reicht da nicht.

  • "Subscript used on non-accessible variable" beim AD UDF, zB: "_AD_GetObjectProperties"

    • alpines
    • 13. Januar 2015 um 17:48

    Dein Array ist entweder nicht existent oder die Größe des Arrays (bzw. der Index den du ansteuern möchtest) ist falsch.
    Lass dir mal nach $aProperties = ... folgendes mal ausgeben

    [autoit]

    MsgBox(64, "Info", "Arraygröße: " & UBound($aProperties))

    [/autoit]
  • BeatIt - [Music Player mit Equalizer, CrossfadeEx, ...]

    • alpines
    • 13. Januar 2015 um 17:47

    Ich geb' mal meinen Senf hier mit zu in der Hoffnung das das auch umgesetzt wird.

    Du kannst mit der Bass-UDF Beats messen bzw. erkennen. Ich wünsche mir das du eine Funktion einbaust die die Beats zweier Lieder (beim Übergang) übereinander legt und dann langsam rüberfadet.
    Das hört sich um Welten besser an als erstmal den Beat auslaufen zu lassen und bei einem anderen Lied wieder einlaufen zu lassen.

    Wäre super wenn du das umsetzen kannst. Beat-Erkennung gibt es als Beispiel irgendwo im Internet.

  • ShutDown Manager

    • alpines
    • 13. Januar 2015 um 10:42

    Das liegt daran das du das Handle von dem Input verwendest und nicht den Inhalt.

    [autoit]

    GUICtrlRead($Input1)

    [/autoit]
  • Windows7-Desktop-Kontextmenü

    • alpines
    • 8. Januar 2015 um 22:19

    Ich hab den Post vorhin noch editiert, hast du versucht das ganze mal zu starten? CMD?

  • Windows7-Desktop-Kontextmenü

    • alpines
    • 8. Januar 2015 um 21:57

    Schau mal ob du mit Dependency Walker Funktionen findest die du callen kannst. Eine andere Methode wäre noch zu versuchen ob die die .dll einfach in .exe umbenennen und dann starten kannst. Einige DLL-Dateien sind eigentlich Exe-Dateien. Bzw. starte sie in der CMD mit

    Code
    start dkticnsr.dll

    damit die Funktionalität im Kontextmenu nicht verloren geht.

  • Windows7-Desktop-Kontextmenü

    • alpines
    • 8. Januar 2015 um 21:40

    Du sollst ja auch keine neuen Einträge erstellen sondern nur wissen das das geht.
    Daraus kannst du folgern das dort die Einträge sein müssen die im Kontextmenu enthalten sind.
    Und daraus kannst du dann dein Programm schreiben.

    Den RegQueries kann ich entnehmen das von Desktop Restore die dkticnsr.dll gecalled wird.
    Allerdings sehe ich keine Parameter oder ähnliches. Gibt es keine Dokumentation zu der DLL?

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™