achso werde es mal versuchen
Beiträge von Nathax
-
-
winsetstate ist aber leider nur für das aktive fenster und nicht für alle
winlist guck ich mir mal an bb muss of -
ne funktion zum maximieren gibt es soweit ich weiß ja nicht nur diese minimizeallundo oder so aber die klappt ja nur ,wenn man vorher eins minimert hat mit winminimize
zu der idee mit den hotkeys eigentlich ist das ja gar nicht so schwer man kann es ja ganz einfach machen das am anfang ein paar inputboxen erscheinen und dann die hotkeys für ein nächstes mal in eine ini geschrieben werden -
ich hab ja gesagt das es das schon gibt, aber ich fand es lustig mal mit autoit nachzubaun
ist doch eigentlich auch ganz gut gelungen oder? -
ok verbessere ich mal
-
Hi ich habe ein kleines aber nützliches skript geschrieben, das das arbeiten auf windows vista oder älter erleichtern soll. Soweit ich weiß gibt es so ein ähnliches tool ja nur in windows 7, welches bei der installation dabei ist, deshalb habe ich es so ähnlich nachgebaut um es auch leuten möglich zu machen die kein windows 7 haben.
Hier der Code:
Spoiler anzeigen
[autoit]Hotkeyset("!{esc}", "ende")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Hotkeyset("!{space}", "allemini")
Hotkeyset("!m", "mini")
Hotkeyset("!y", "transan")
Hotkeyset("!x", "transaus")
Hotkeyset("!k", "kill")
Hotkeyset("!{left}", "links")
Hotkeyset("!{right}", "rechts")
Hotkeyset("!{up}", "hoch")
Hotkeyset("!{down}", "runter")
Hotkeyset("!1", "hochlinks")
Hotkeyset("!2", "hochrechts")
Hotkeyset("!3", "runterlinks")
Hotkeyset("!4", "runterrechts")While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(50)
WEndFunc transan()
[/autoit] [autoit][/autoit] [autoit]
WinSetTrans("[active]", "", 170)
EndfuncFunc transaus()
[/autoit] [autoit][/autoit] [autoit]
WinSetTrans("[active]", "", 255)
EndfuncFunc allemini()
[/autoit] [autoit][/autoit] [autoit]
WinMinimizeAll()
EndfuncFunc mini()
[/autoit] [autoit][/autoit] [autoit]
WinSetState( "[active]", "", @SW_MINIMIZE)
EndfuncFunc kill()
[/autoit] [autoit][/autoit] [autoit]
WinKill("[active]")
EndFuncFunc links()
[/autoit] [autoit][/autoit] [autoit]
WinMove("[active]", "", 0, 0, @DesktopWidth/2-30, @DesktopHeight)
EndfuncFunc rechts()
[/autoit] [autoit][/autoit] [autoit]
WinMove("[active]", "", @DesktopWidth/2-30, 0, @DesktopWidth/2+30, @DesktopHeight)
EndfuncFunc hoch()
[/autoit] [autoit][/autoit] [autoit]
WinMove("[active]", "", 0, 0, @DesktopWidth, @DesktopHeight/2-30)
EndfuncFunc runter()
[/autoit] [autoit][/autoit] [autoit]
WinMove("[active]", "", 0, @DesktopHeight/2-30, @DesktopWidth, @DesktopHeight)
EndfuncFunc hochlinks()
[/autoit] [autoit][/autoit] [autoit]
WinMove("[active]", "", 0, 0, @DesktopWidth/2-30, @DesktopHeight/2-30)
EndfuncFunc hochrechts()
[/autoit] [autoit][/autoit] [autoit]
WinMove("[active]", "", @DesktopWidth/2-30, 0, @DesktopWidth/2+30, @DesktopHeight/2-30)
EndfuncFunc runterlinks()
[/autoit] [autoit][/autoit] [autoit]
WinMove("[active]", "", 0, @DesktopHeight/2-30, @DesktopWidth/2-30, @DesktopHeight/2)
EndfuncFunc runterrechts()
[/autoit] [autoit][/autoit] [autoit]
WinMove("[active]", "", @DesktopWidth/2-30, @DesktopHeight/2-30, @DesktopWidth/2+30, @DesktopHeight/2)
EndfuncFunc ende()
[/autoit]
Exit
EndFunc -
-
mit paint will ich aber nicht mehr arbeiten das ist qualitativ schlecht finde ich aber egal hab ich ja jetzt gelöst
trotzdem danke -
geht nicht
aber ist eh nicht mehr so wichtig habs anders gelöst -
Hi wieso färbt sich alles olivegrün bzw. braun wenn ich es mit blau füllen will
-es ist ein gif
-bearbeitet mit gimpbild im anhang
-
danke aber das brauch ich jetzt eigentlich nicht habs schon selber fetig gekrigt
-
wie meinste das unter derm spoiler??
-
ich schließ dan glaub ich mal
-
cool danke es verschwindet jetzt vllt estwas zu früh aber dafür ist es viel besser als vorher thx
-
thx aber komisch finde ich das es nicht klappt wenn man anstatt der msg das fiutterpic löscht dann kommt nämlich error
und wie downloade ich das ehergesagt kannste mir den link zu dem thread geben
ah es klappt doch sorry ich muss das fiutter dabnach einfach nochmal erstellen damit die abfrage weiterlaufen kann.
-
es funkt aber ist das normal so, dass es nicht immer klappt??
-
das funkt bei mir iwie nicht
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <Array.au3>
#Include <Misc.au3>
HotKeySet("{ESC}", "ende")
; Hauptvariablen-------------------------
$f = 0
Global $guix, $guiy
Global $fischx = 200, $fischy = 300, $movex = 10, $movey = 10
; ---------------------------------------; Guierstellung--------------------------
[/autoit] [autoit][/autoit] [autoit]
$gui1 = GUICreate ("Aquarium",(@DesktopWidth), (@DesktopHeight-65),0,0)
GUISetBkColor(0x0000ff,$gui1)
$hintergrund = GUICtrlCreatepic("bilder\hintergrund.gif",0,0,@DesktopWidth,@DesktopHeight-50)
$fisch1 = GUICtrlCreatepic("bilder\fischrechts1.gif",$fischx,$fischy, 120,100)
$futter = GUICtrlCreatePic("bilder\futter.gif",-200,-200,100,100)
GUISetState (@SW_SHOW)
; ---------------------------------------
AdlibEnable("move_fisch", 20); Hauptfunktion des Guis-----------------
[/autoit] [autoit][/autoit] [autoit]
While 1
$c = GUIGetCursorInfo()
$f1pos = ControlGetPos( "Aquarium", "", $fisch1)
$fupos = ControlGetPos( "Aquarium", "", $futter)
$msg = GUIGetMsg()
_RectCollision($f1pos[0], $f1pos[1], $f1pos[0]+200, $f1pos[1]+300, $fupos[0], $fupos[1], $fupos[0]+100, $fupos[1]+100)
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
If _IsPressed("01") and $f = 1 Then
GUICtrlDelete($futter)
$futter = GUICtrlCreatePic("bilder\futter.gif",$c[0]-40,$c[1]-40,100,100)
$f = 1
ElseIf _IsPressed("01") and $f = 0 then
$futter = GUICtrlCreatePic("bilder\futter.gif",$c[0]-40,$c[1]-40,100,100)
$f = 1
Endif
Wend
; ---------------------------------------
; Funktionen-----------------------------
Func ende()
Exit
EndFunc
Func move_fisch()
Select
Case $fischx < 0
GUICtrlSetImage($fisch1,"bilder\fischrechts1.gif")
$movex = Random(0, 10, 1)
Case $fischx > @DesktopWidth - 120
GUICtrlSetImage($fisch1,"bilder\fischlinks1.gif")
$movex = Random(-10, 0, 1)
EndSelect
Select
Case $fischy < 0
$movey = Random(0, 10, 1)
Case $fischy > @DesktopHeight - 100
$movey = Random(-10, 0, 1)
EndSelect
$fischx = $fischx + $movex
$fischy = $fischy + $movey
GUICtrlSetPos($fisch1, $fischx, $fischy)
EndFunc
; ---------------------------------------;noch unwichtig-------------------------
[/autoit]
Func _RectCollision($Rect1X1, $Rect1Y1, $Rect1X2, $Rect1Y2, $Rect2X1, $Rect2Y1, $Rect2X2, $Rect2Y2)
; Prog@ndy
Local Const $tagRECT = "long;long;long;long"
Local $1 = DllStructCreate($tagRECT)
Local $2 = DllStructCreate($tagRECT)
Local $3 = DllStructCreate($tagRECT)
DllStructSetData($1, 1, $Rect1X1)
DllStructSetData($1, 2, $Rect1Y1)
DllStructSetData($1, 3, $Rect1X2)
DllStructSetData($1, 4, $Rect1Y2)
DllStructSetData($2, 1, $Rect2X1)
DllStructSetData($2, 2, $Rect2Y1)
DllStructSetData($2, 3, $Rect2X2)
DllStructSetData($2, 4, $Rect2Y2)
Local $r = DllCall("User32.dll", "int", "IntersectRect", "ptr", DllStructGetPtr($3), "ptr", DllStructGetPtr($1), "ptr", DllStructGetPtr($2))
If @error Then Return SetError(1, 0, 0)
Return $r[0] <> 0
If _RectCollision($Rect1X1, $Rect1Y1, $Rect1X2, $Rect1Y2, $Rect2X1, $Rect2Y1, $Rect2X2, $Rect2Y2) Then
MsgBox(0,"warnung","zsstoß")
Endif
EndFunc ;==>_RectCollision -
ok ich versuchs mal
-
ja gut aber wie mache ich jetzt die bedingung das etwas passiert wenn sie collidieren
-
ok das hab ich wie mache ich jetzt die bedingung wenn es eine collision gibt??