Zitat
Vllt. hast du die Windowslautstärke nciht auf voll
Oder er hat Hörprobleme... ![]()
Zitat
Vllt. hast du die Windowslautstärke nciht auf voll
Oder er hat Hörprobleme... ![]()
Das hängt vielleicht mit FileWrite zusammen, aber wenn du es dir in einer MsgBox ausgeben lässt wirst du sehen, dass es sich um Binärdaten in Hexadezimalform handelt. ![]()
Dann hilft dir vielleicht die Hilfe zu HotKeySet. ![]()
Wenn ich es mit AutoIt auslese bekomme ich im Prinzip das was in den Dateien steht. Nur ist es in einer eigenartigen Form die von einer MsgBox nicht dargestellt werden kann.
Zitat
Dann stell dir das bügeleisen an schreibtisch, und wenn dud as verlangen hast, bügel deine hände
Keine so gute Idee...
Dann wird nicht nur sein Char für eine ganze Weile nicht wiederbelebt sondern er kann auch für einige Zeit nicht mehr spielen. ![]()
Da fehlt auch ein FileRead
.
Du versuchst gerade ein Handle zu einer Datei in eine andere hineinzuschreiben... :pinch:
_IsPressed gibt nicht die gedrückte Taste zurück... Sonst wäre der 1.Parameter ja schwachsinnig
.
Ja FileOpen und FileRead ;).
Du musst im Modus 16 (sprich Binärmodus) öffnen, und dann das Handle von FileOpen verwenden.
Dürfte recht einfach sein.
[autoit]If ($shade > $threshold) Then
$color = 0xffffff
$pixels[$x][$y] = 0
Else
$color = 0
$pixels[$x][$y] = 1
EndIf
Man muss wahrscheinlich nur diesen Teil anpassen.
Ich hoffe das ist einfacher zu verstehen ;).
#include <GDIPlus.au3>
#include <GUIConstants.au3>
#include <Misc.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]$hWnd = GUICreate("Beispiel", 400, 400)
GUISetState()
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
$hBitmap = _GDIPlus_BitmapCreateFromGraphics(400, 400, $hGraphic)
$hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsSetSmoothingMode($hGraphic, 2)
$hBrushBlack = _GDIPlus_BrushCreateSolid()
$hBrushGray = _GDIPlus_BrushCreateSolid(0x0F000000)
$hCurBrush = $hBrushBlack
[/autoit] [autoit][/autoit] [autoit]_ReDraw()
[/autoit] [autoit][/autoit] [autoit]GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_MouseEvent")
GUISetOnEvent($GUI_EVENT_RESTORE, "WM_PAINT")
GUIRegisterMsg($WM_PAINT, "WM_PAINT")
[/autoit] [autoit][/autoit] [autoit]While Sleep(1000)
WEnd
Func _ReDraw()
_GDIPlus_GraphicsClear($hBuffer, 0xFFFFFFFF)
_GDIPlus_GraphicsFillRect($hBuffer, 50, 50, 100, 50, $hCurBrush)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, 400, 400)
EndFunc
Func _MouseEvent()
$aMousePos = GUIGetCursorInfo($hWnd)
If _PtIsInRect($aMousePos[0], $aMousePos[1], 50, 50, 100, 50) Then
$hCurBrush = $hBrushGray
_ReDraw()
While _IsPressed("01")
Sleep(20)
WEnd
$hCurBrush = $hBrushBlack
_ReDraw()
MsgBox(0,"","Button wurde gedrückt")
WM_PAINT()
EndIf
EndFunc
Func _PtIsInRect($iXPoint, $iYPoint, $iXRect, $iYRect, $iWidthRect, $iHeightRect)
If $iXPoint >= $iXRect And $iYPoint >= $iYRect And $iXPoint <= $iXRect + $iWidthRect And $iYPoint <= $iYRect + $iHeightRect Then Return 1
Return 0
EndFunc
Func _Exit()
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_GraphicsDispose($hBuffer)
_GDIPlus_BitmapDispose($hBitmap)
_GDIPlus_BrushDispose($hBrushBlack)
_GDIPlus_BrushDispose($hBrushGray)
_GDIPlus_Shutdown()
Exit
EndFunc
Func WM_PAINT()
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, 400, 400)
EndFunc
Ich überprüfe nur die Koordinaten des Klicks, bei DoodleJump wurde das auch nicht anders gemacht. ![]()
Möglicherweise hat er auch gar keine MessageLoop bzw. Event für GUI_EVENT_CLOSE.... ![]()
Falsch geraten, er hat nur noch nicht kapiert worin der Sinn einer Endlosschleife besteht. ![]()
ZitatEdit:\\ Ich hätte auch nie damit gerechnet, das das Gewinnerbild da von yxyx ist, ich hatte immer gedacht yxyx hat diesen Walee gemacht
Hast den nicht du gemacht?
Das steht zumindest in Post #1. ![]()
Schau dir die Hilfe zu _GDIPlus_BitmapLockBits an. ![]()
Da ist so ein ähnliches Beispiel dabei. Und in meiner Signatur ist genau das was du suchst (GDI+ Paint). ![]()
Zitatomg
danke für diesen ätzenden virus... nicht cool so etwas.
hat etwas gedauert bis ich die datei finden und anständig entfernen konnte.
Doodle Jump[1].rar'
enthielt einen Virus oder unerwünschtes Programm 'SPR/AutoIt.Gen' [riskware].also so was kann ja mal passieren, sollte aber behoben werden.
version 8 da is gemeint
![]()
War dein Viren Scanner immer ehrlich zu dir?
Also ich habe das Script gesehen und vertraue den Autoren, somit kann ich sagen, dass in der Exe kein Virus drin ist.
Ob du nun auf deinen Viren Scanner hörst der dir vermutlich was von einem AutoIt Dropper Gen erzählt oder auf uns, liegt bei dir, aber hier herumzuheulen und andere zu verunsichern ist wirklich uncool. ![]()
Ja das hab ich auch gesehen, ich glaub das wurde mit DLLCalls gemacht, aber GDIPlus stellt wohl die elegantere Lösung dar. ![]()
Oder so.
[autoit]Do
Until MsgBox(4, "Test", "Abfrage") = 7
kürzer ![]()
Wenn du diese Zeile
[autoit]func update()
[/autoit]entfernst, dann ja. ![]()
Ups tut mir leid.
Da hab ich mich wohl ein wenig verschrieben, ich hatte mich so wie so gewundert wieso das nur bei Send klappte. ![]()
Dann brauchst du aber eine neue Grafik oder du musst beide Bilder in das eine zeichnen sozusagen....
#include <GDIPlus.au3>
#include <Screencapture.au3>
#include <WinApi.au3>
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]$hGraphic = _GDIPlus_GraphicsCreateFromHWND(WinGetHandle(AutoItWinGetTitle()))
$hBitmap = _GDIPlus_BitmapCreateFromGraphics(@DesktopWidth, @DesktopHeight, $hGraphic)
$hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
$HBITMAP_Screenshot1 = _ScreenCapture_Capture("", 0, 0, @DesktopWidth, @DesktopHeight)
$HBITMAP_Screenshot2 = _ScreenCapture_Capture("", 0, 0, @DesktopWidth / 2, @DesktopHeight / 2)
$hBitmap1 = _GDIPlus_BitmapCreateFromHBITMAP($HBITMAP_Screenshot1)
$hBitmap2 = _GDIPlus_BitmapCreateFromHBITMAP($HBITMAP_Screenshot2)
_WinAPI_DeleteObject($HBITMAP_Screenshot1)
_WinAPI_DeleteObject($HBITMAP_Screenshot2)
_GDIPlus_GraphicsDrawImageRect($hBuffer, $hBitmap1, 0, 0, @DesktopWidth, @DesktopHeight / 2)
_GDIPlus_GraphicsDrawImageRect($hBuffer, $hBitmap2, 0, @DesktopHeight / 2, @DesktopWidth, @DesktopHeight / 2)
_GDIPlus_ImageSaveToFile($hBitmap, @ScriptDir & "\Test.png")
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_BitmapDispose($hBitmap)
_GDIPlus_BitmapDispose($hBitmap1)
_GDIPlus_BitmapDispose($hBitmap2)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_GraphicsDispose($hBuffer)
_GDIPlus_Shutdown()
So geht das schonmal garnicht ;).
Ich glaube nicht das du es mit HotKeySet hinkriegen wirst, denn scheinbar klappt diese Kombination mit Variablen nur bei Send. ![]()
Versuch das mal mit _IsPressed.