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

Beiträge von Ahnungslos

  • DLL mit Icons erstellen

    • Ahnungslos
    • 2. Februar 2010 um 14:12

    dll findest du hier:
    C++ - Icon in DLL hinzufügen

    und icons kannst du mit dem resource hacker einfügen (google)

  • ICQ Away sender

    • Ahnungslos
    • 2. Februar 2010 um 14:06

    Mit dem Oscar Protokoll kannst du über TCP einen eigenen ICQ Client schreiben, aber halt nicht dein installiertes ICQ steuern.
    (Wenn trotzdem Interesse besteht, könnt ich dir etwas Lektüre uploaden.)

  • Betriebsystem Version

    • Ahnungslos
    • 1. Februar 2010 um 11:20

    in der Boot.ini steht die genau Version drin, auch wenn das vllt nicht die Beste Möglichkeit ist

    Code
    [boot loader]
     timeout=30
     default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
     [operating systems]
     multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
  • Windows XP - Herunterfahren Knopf austauschen

    • Ahnungslos
    • 1. Februar 2010 um 10:55

    Sollte doch auch gehen, indem du die Shutdown.exe umbenennst und an deren Stelle ein compiliertes AutoIt-Script erstellst mit dem Namen: Shutdown.exe.

  • Skript optimieren UND Kollision mit GDI+

    • Ahnungslos
    • 25. Januar 2010 um 18:18

    Was mir auf Anhieb auffällt ist, schreib mal lieber im OnEventModus.
    Das GUIGetMsg() bremst deine Schleife stark aus, und verursacht das Ruckeln.

    Spoiler anzeigen
    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GDIPlus.au3>
    #include <Misc.au3>

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

    Opt("GUIOnEventMode", 1)

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

    $Width = 300
    $Height = 460

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

    $JumpSpeed = 0.07
    $JumpHeight = 250
    $MoveSpeed = 10

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

    $GUI1 = GUICreate("Doodle Jump - Beta", $Width, $Height)
    GUISetState(@SW_SHOW)

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

    $pDoodle_Rechts = @ScriptDir & "\Doodle_Rechts.png"
    $pDoodle_Links = @ScriptDir & "\Doodle_Links.png"
    $pBalken_Gruen = @ScriptDir & "\Balken-Grün.png"

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

    _GDIPlus_Startup()
    $Background = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\background.jpg")

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

    $Doodle_Rechts = _GDIPlus_ImageLoadFromFile($pDoodle_Rechts)
    $Doodle_Links = _GDIPlus_ImageLoadFromFile($pDoodle_Links)
    $Balken_Gruen = _GDIPlus_ImageLoadFromFile($pBalken_Gruen)
    $Doodle_Height = _GDIPlus_ImageGetHeight($Doodle_Rechts)
    $Doodle_Width = _GDIPlus_ImageGetWidth($Doodle_Rechts)
    $AktuellerDoodle = $Doodle_Rechts

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

    $Graphic = _GDIPlus_GraphicsCreateFromHWND($GUI1)
    $Bitmap = _GDIPlus_BitmapCreateFromGraphics($Width, $Height, $Graphic)
    $Buffer = _GDIPlus_ImageGetGraphicsContext($Bitmap)

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

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

    $i = 0
    $x = 50

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

    While Sleep(5)
    If _IsPressed("25") Then
    If $x >= 10 Then
    $x -= $MoveSpeed
    $AktuellerDoodle = $Doodle_Links
    ElseIf $x <= 10 Then
    $x = 0
    $AktuellerDoodle = $Doodle_Links
    EndIf
    ElseIf _IsPressed("27") Then
    If $x <= $Width - $Doodle_Width - 15 Then
    $x += $MoveSpeed
    $AktuellerDoodle = $Doodle_Rechts
    ElseIf $x >= $Width - $Doodle_Width - 15 Then
    $x = $Width - $Doodle_Width - 14
    $AktuellerDoodle = $Doodle_Rechts
    EndIf
    EndIf

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

    $i += $JumpSpeed
    $y = $Height - $Doodle_Height - 5 - Abs(Sin($i)) * $JumpHeight

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

    _GDIPlus_GraphicsDrawImage($Buffer, $Background, 0, 0)

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

    _GDIPlus_GraphicsDrawImage($Buffer, $AktuellerDoodle, $x, $y)
    _GDIPlus_GraphicsDrawImage($Buffer, $Balken_Gruen, 100, 230)
    _GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)
    WEnd

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

    Func _Exit()
    _GDIPlus_GraphicsDispose($Graphic)
    _GDIPlus_ImageDispose($Buffer)
    _WinAPI_DeleteObject($Bitmap)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>_Exit

    [/autoit]
  • Einer Konsolenanwendung eine Taste schicken

    • Ahnungslos
    • 21. Januar 2010 um 10:10

    Probier es mal mit: StdinWrite($pid, 0x1B)

    0x1B ist der Hexcode für das ESC-Zeichen im ASCII-Zeichensatz

  • Script immer im vordergrund

    • Ahnungslos
    • 13. Januar 2010 um 19:24

    Probiers mal so:

    Spoiler anzeigen
    [autoit]


    #include <ScreenCapture.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>

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

    $hStub_KeyProc = DllCallbackRegister("_KeyProc", "long", "int;wparam;lparam")
    $hmod = _WinAPI_GetModuleHandle(0)
    $hHook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, DllCallbackGetPtr($hStub_KeyProc), $hmod)

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

    While 1
    Sleep(50)
    WEnd

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

    Func _KeyProc($nCode, $wParam, $lParam)
    Local $tKEYHOOKS
    $tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT, $lParam)
    If $nCode < 0 Then
    Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
    EndIf
    If $wParam <> $WM_KEYDOWN Then
    Local $flags = DllStructGetData($tKEYHOOKS, "flags")
    If $flags = $LLKHF_UP Then
    If DllStructGetData($tKEYHOOKS, "vkCode") = 27 Then Exit ; Esc-Taste gedrückt
    ConsoleWrite("$LLKHF_UP: Tastencode (scanCode) - " & DllStructGetData($tKEYHOOKS, "scanCode") & @TAB & " Virtueller Tastencode (vkCode) - " & DllStructGetData($tKEYHOOKS, "vkCode") & @LF)
    ElseIf $flags = 129 Then
    If DllStructGetData($tKEYHOOKS, "vkCode") = 44 Then ; Print-Taste gedrückt
    $i = 1
    $u = 0
    Do
    If FileExists($i & ".jpg") Then
    Else
    _ScreenCapture_Capture(@DesktopDir & "/" & $i & ".jpg", 0, 0, -1, -1, True)
    $u = 1
    EndIf
    $i = $i + 1
    Until $u = 1

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

    EndIf
    EndIf
    EndIf
    Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
    EndFunc ;==>_KeyProc

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

    Func OnAutoItExit()
    _WinAPI_UnhookWindowsHookEx($hHook)
    DllCallbackFree($hStub_KeyProc)
    EndFunc ;==>OnAutoItExit

    [/autoit]


    Es fragt global ab ob die Tasten "Print" oder "Esc" betägtigt wurden. Print speichert die Datei, Esc beendet das Programm. Hab auf meinem Netbook leider keine Games, aber mit Flash gehts im Vollbildmodus.

  • Script immer im vordergrund

    • Ahnungslos
    • 13. Januar 2010 um 13:15

    Wenn er mit der Print-Taste Screenshots machen kann, dann sollte das doch auch mit der Api-Funktion gehen, oder hat die Windowsinterne Print-Tasten-Funktion auf eine andere Vorgehensweise?

    Werden die HotKeys ausgeführt? Wenn nicht könnte vllt der Artikel helfen:
    http://www.bauer-martin.com/detailansicht/…cken/index.html

  • Variable wird gelöscht bei einem Funktionsaufruf

    • Ahnungslos
    • 8. Januar 2010 um 11:25

    Hast du mal @error abgefragt?
    Wenn ein Fehler auftritt ist $Socket = -1, es wird also kein Array erzeugt.

    Edit: zu langsam

  • PixelChecksum sicher?

    • Ahnungslos
    • 3. Januar 2010 um 11:07

    Stimmt, da hab ich gar nicht dran gedacht. :thumbup:
    Besten Dank!

  • PixelChecksum sicher?

    • Ahnungslos
    • 3. Januar 2010 um 10:58

    Ich habe ein Archiv mit über 2000 Bildern. Alle sind durchweg nummeriert und haben die gleichen Maße, sowie keine Dateiinformationen. Leider sind vor dem Durchnummerieren einige Doppler dazwischen geraten.

    Nun würde ich gerne die doppelten Bilder löschen lassen. Bisher ist mir nur die Möglichkeit über PixelChecksum eingefallen. Aber wie sicher ist das ganze? Kann es mir passieren das ich damit falsche Bilder rauslösche?

    Oder hat jemand noch eine andere Idee?

    Danke schonmal!

  • DllStructCreate() und DLLCall()

    • Ahnungslos
    • 14. Dezember 2009 um 14:33

    beim drüberschaun ist mir auch gerade noch aufgefallen:
    müsste es nicht statt char byte und statt uchar ubyte heißen?

    edit: C++ hab ich auch mal begonnen und sehr schnell das Interessa dran verloren,
    find Nasm da toller, nur leider meckert mein Vierenscanner einige Programme danach an 8|

  • DllStructCreate() und DLLCall()

    • Ahnungslos
    • 14. Dezember 2009 um 14:22

    komisch, sonst geht das eigtl. ?(
    ansonsten könntest du noch die andere Funktion "fnGetCoreTempInfoAlt" probieren

    Zitat

    For compatibility with some programming languages a function was added.
    It uses Win32 API calling convention and is declared as follows:

    bool WINAPI fnGetCoreTempInfoAlt(CORE_TEMP_SHARED_DATA *pData);

    typedef bool (*fnGetCoreTempInfoAlt)(CORE_TEMP_SHARED_DATA *pData);
    fnGetCoreTempInfoAlt GetCoreTempInfo;

  • DllStructCreate() und DLLCall()

    • Ahnungslos
    • 14. Dezember 2009 um 14:13

    dann probiers mal mit "int"^^

  • Hilfe mit 2 Gui s

    • Ahnungslos
    • 14. Dezember 2009 um 14:11

    Probiers mal so, kanns aber gerade nicht testen ;(

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("The Game", 633, 454, 193, 115)
    GUISetBkColor(0x0000FF)
    $Start = GUICtrlCreateButton("Start", 192, 280, 217, 97, 0)
    GUICtrlSetFont(-1, 25, 400, 0, "MS Sans Serif")
    $Pic1 = GUICtrlCreatePic("bsp1.jpg", 64, 40, 100, 100, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic2 = GUICtrlCreatePic("bsp2.jpg", 256, 40, 100, 100, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic3 = GUICtrlCreatePic("bsp3.jpg", 456, 40, 100, 100, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))

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

    $Form2 = GUICreate("The Game", 633, 454, 193, 115)
    GUISetBkColor(0x0000FF)
    GUICtrlSetFont(-1, 25, 400, 0, "")
    $1 = GUICtrlCreateButton("bsp", 232, 120, 153, 41, 0)
    $Label = GUICtrlCreateLabel("Game", 168, 24, 286, 41)
    GUICtrlSetFont(-1, 25, 400, 0, "MS Sans Serif")
    $2 = GUICtrlCreateButton("bsp", 232, 176, 153, 41)
    $3 = GUICtrlCreateButton("bsp", 232, 232, 153, 41)
    $Back = GUICtrlCreateButton("Zurück", 470, 400, 153, 41)
    GUISetState(@SW_SHOW, $Form1)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $msg = GUIGetMsg(1)

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

    Switch $msg[0]
    Case $Start
    GUISetState(@SW_HIDE, $Form1)
    GUISetState(@SW_SHOW, $Form2)
    Case $GUI_EVENT_CLOSE
    If $msg[1] = $Form1 Then ;Fenster 1 geschlossen
    ExitLoop
    Else ;Fenster 2 geschlossen
    GUISetState(@SW_SHOW, $Form1)
    GUISetState(@SW_HIDE, $Form2)
    EndIf
    Case $Back
    MsgBox(0, '', 'Button 2 geklickt')
    EndSwitch
    WEnd

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

    GUIDelete($Form1)
    GUIDelete($Form2)

    [/autoit]
  • DllStructCreate() und DLLCall()

    • Ahnungslos
    • 14. Dezember 2009 um 14:00

    Ich kanns gerade nicht testen, aber was mir aufgefallen ist:

    im DllCall fehlt die aufzurufende Funktion der Dll

    Zitat

    DllCall ( "dll", "return type", "function" [, "type1" [, param1 [, "type n" [, param n]]]] )

    also:

    [autoit]


    DllCall("GetCoreTempInfo.dll", "bool", "fnGetCoreTempInfo", "ptr", DllStructGetPtr($CORE_TEMP_SHARED_DATA))

    [/autoit]
  • Decompiler unschädlich machen

    • Ahnungslos
    • 11. Dezember 2009 um 11:52
    Zitat

    Und genau da liegt der Hase im Pfeffer. Wer das KnowHow hat, der macht alles andere als zu versuchen in irgendwelchen "Pixelbots" für WOW den Angel-Code zu "knacken"....Wobei mal wieder die Zielgruppe der Decompiler-User festgelegt wäre :D

    Wer das KnowHow hat, wird sich dann aber wohl lieber an größeren Projekte austoben (Spiele, gut geschützte Software, ...), als mal nebenbei nen kleines Autoit-Script zu knacken. Also sollte es doch reichen die Scripte gegen Anfänger zu sichern, damit diese keine Passwörter usw. auslesen!?

    Zitat

    Jetzt wäre nur noch die Frage, wozu jemand, der fit in Assembler ist, einen Decompiler braucht?!

    Nen Autoitdecompiler wird er wohl dann nicht benötigen, aber wenn der Debugger an einem Protector verzweifelt, sollte man den Maschienencode zumindest in Assembler übersetzen. Denn Maschienencode können wahrscheinlich nur die wenigsten direkt lesen, falls überhaupt jemand.

  • Decompiler unschädlich machen

    • Ahnungslos
    • 11. Dezember 2009 um 10:06

    Du könntest die Exe noch einmal durch einen Protector jagen, wie zum Beispiel MEW. Dieser sollte den Meisten Debugger und Decompilierern schon etwas Kopfzerbrechen bereiten :P Bietet natürlich auch keinen 100%igen Schutz, sollte aber zumin Anfänger vom Cracken abhalten.

    Die Syntax von Autoit ist aber auch schon so eher schwerer zu durchschauen und nichts für i-welche Scriptkiddies.
    C++, VB und ASM sind da m.E. viel einfacher zu verstehen.

  • Sachaufgabe von jemanden, bitte um Lösugs vorschläge

    • Ahnungslos
    • 1. Dezember 2009 um 15:38

    Kannst du die Aufgabenstellung mal bitte genau abschreiben, zumin sieht mir das gerade nur nach einer groben Umschreibung aus^^

    Also davon ausgegangen, das man alle 30s einen Samen setzen darf, aber dafür keine 30s braucht:

    Also wenn ein Baum zum Wachsen 6 Minuten und du zum Hacken 1 Minute brauchst, dann müsstest du den zweiten Samen nach 1min 5s setzen, sodass der zweite Baum nach 7min 5s gewachsen ist, also 5 Sekunden nachdem der erste gehackt ist, nach 2min 10s den Dritten, sodass du diese 5s nach dem 2. fällen kannst (bei 8:10min), usw.
    Also jede 1:05 Minuten nen Samen setzen. (1:05min * x)

    Davon ausgegangen, das man 30s braucht um einen Samen zu setzen:
    (1:05min * x - 30s)

  • Windows Media Player 11 Einstellungen?

    • Ahnungslos
    • 30. November 2009 um 22:35

    - Wiedergabeliste zusammenstellen
    - unter Medienbibliothek -> rechtsklick auf die entsprechende Liste
    - "Datenspeicherort öffnen"
    - nun einfach noch in die Verknüpfung zum Mediaplayer den Pfad und Namen der Liste als Parameter angeben (an die Anführungszeichen denken)
    z.B: "C:\Programme\Windows Media Player\wmplayer.exe" "C:\Dokumente und Einstellungen\User\Eigene Dateien\Eigene Musik\Eigene Wiedergabelisten\Test.wpl"
    nun wird beim Start des Mediaplayer die Wiedergabeliste abgespielt, hoffe das ist das was du suchst
    lg ahnungslos

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™