Kenn ich. Bringt dir aber 0 bei 70% der Notebooks ![]()
Beiträge von Sen
-
-
Also bei mir läufts relativ geschmeidig (allerdings noch langsam was aber an der Geschwindigkeit die ich festgelegt hab liegt xD)
und ruckelfrei bei 0-2% CPU o.o -
Strg + Pfeiltaste wird scrollen.
Das verkleinert/vergrößert die Schrift aber, weil du in dem Momente
Strg drückst und das Script MouseWheel macht ;POkay, folgendes Problem immo.
Wenn ich die Tasten über WPI, BlockEx, etc sperre geht auch _IsPressed nicht (schon klar).
Wie krieg ichs jetzt aber hin das Windows beim druck auf die Pfeiltasten nur macht was ich will
und keine Startfunc?Edit: HotKeySet blockiert _IsPressed doch nicht o_O
Soweit wie's bis jezt läuft:
Pfeiltasten = Maus
Alt + Links/Rechts = Klicks
Alt + Runer/hoch = Mausrad& Update.
[autoit]
Strg+M = On/Off;---------------------------------------------------------------------------—
[/autoit][autoit][/autoit][autoit]
; KeyMouse
; By Sen // Christopher Klay
;---------------------------------------------------------------------------—
; Version - 1.0 Beta
;---------------------------------------------------------------------------—
#include <Misc.au3>$Move_Speed = "0"
[/autoit][autoit][/autoit][autoit]
$Move_Sensivity = "2"
$Mouse_Speed = "0"
$Mouse_Scrolls = "1"
$ClickSleep = "0.7" * 1000$KeyMouse = True
[/autoit][autoit][/autoit][autoit]HotKeySet("{LEFT}", "Dummy")
[/autoit][autoit][/autoit][autoit]
HotKeySet("{RIGHT}", "Dummy")
HotKeySet("{DOWN}", "Dummy")
HotKeySet("{UP}", "Dummy")
HotKeySet("^m", "TriggerKeyMouse")While 1
[/autoit][autoit][/autoit][autoit]
If $KeyMouse = True Then
$MousePos = MouseGetPos()
If _IsPressed("12") And _IsPressed("26") And _IsPressed("28") Then ;MiddleMouse
MouseClick("Middle", $MousePos[0], $MousePos[1], 1, $Mouse_Speed)
Sleep($ClickSleep)
ElseIf _IsPressed("12") And _IsPressed("25") Then ;LeftMouse
MouseClick("Left", $MousePos[0], $MousePos[1], 1, $Mouse_Speed)
Sleep($ClickSleep)
ElseIf _IsPressed("12") And _IsPressed("27") Then ;RightMouse
MouseClick("Right", $MousePos[0], $MousePos[1], 1, $Mouse_Speed)
Sleep($ClickSleep)
ElseIf _IsPressed("12") And _IsPressed("26") Then ;WheelUp
MouseWheel("Up", $Mouse_Scrolls)
ElseIf _IsPressed("12") And _IsPressed("28") Then ;WheelUp
MouseWheel("Down", $Mouse_Scrolls)
ElseIf _IsPressed("25") And _IsPressed("26") Then ;LeftUp
MouseMove($MousePos[0] - $Move_Sensivity, $MousePos[1] - $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("27") And _IsPressed("26") Then ;RightUp
MouseMove($MousePos[0] + $Move_Sensivity, $MousePos[1] - $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("25") And _IsPressed("28") Then ;LeftDown
MouseMove($MousePos[0] - $Move_Sensivity, $MousePos[1] + $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("27") And _IsPressed("28") Then ;RightDown
MouseMove($MousePos[0] + $Move_Sensivity, $MousePos[1] + $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("25") Then ;Left
MouseMove($MousePos[0] - $Move_Sensivity, $MousePos[1], $Move_Speed)
ElseIf _IsPressed("26") Then ;Up
MouseMove($MousePos[0], $MousePos[1] - $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("27") Then ;Right
MouseMove($MousePos[0] + $Move_Sensivity, $MousePos[1], $Move_Speed)
ElseIf _IsPressed("28") Then ;Down
MouseMove($MousePos[0], $MousePos[1] + $Move_Sensivity, $Move_Speed)
EndIf
EndIf
Sleep(10)
WEndFunc TriggerKeyMouse()
[/autoit][autoit][/autoit][autoit]
If $KeyMouse = True Then
HotKeySet("{LEFT}")
HotKeySet("{RIGHT}")
HotKeySet("{DOWN}")
HotKeySet("{UP}")
HotKeySet("^m", "TriggerKeyMouse")
$KeyMouse = False
Else
HotKeySet("{LEFT}", "Dummy")
HotKeySet("{RIGHT}", "Dummy")
HotKeySet("{DOWN}", "Dummy")
HotKeySet("{UP}", "Dummy")
HotKeySet("^m", "TriggerKeyMouse")
$KeyMouse = True
EndIf
EndFunc ;==>TriggerKeyMouseFunc Dummy()
[/autoit]
EndFunc ;==>Dummy -
Als Beispiel: Maus Scrollen.
Wird über Strg+Hoch/Runter gehen.Das führt aber in sehr vielen Fällen zu nem Problem mit der Schrift..
da sie durch Strg+Mausrad kleiner/größer wird xD -
Hm, ein Problem hab ich noch.
Wie kann ich die normale Funktion der Tasten außer Kraft setzen?
HotKeySet würde nich gehen denke ich, da dann auch die Pressed Abfragen nicht durchkommen oder? -
Jup geht bestens.
[autoit]
Die Diagonalen Abfragen mussten nur nach oben in der Abfrage.;---------------------------------------------------------------------------—
[/autoit][autoit][/autoit][autoit]
; MouseToKeyboard
; By Sen // Christopher Klay
;---------------------------------------------------------------------------—
; Version - 1.0
;---------------------------------------------------------------------------—
#include <Misc.au3>
#cs
25 LEFT ARROW key
26 UP ARROW key
27 RIGHT ARROW key
28 DOWN ARROW key10 SHIFT key
[/autoit][autoit][/autoit][autoit]
11 CTRL key
#ce
$Move_Speed = "1"
$Move_Sensivity = "7"
$Mouse_Speed = "1"
$Mouse_Scrolls = "1"While 1
[/autoit][autoit][/autoit][autoit]
$MousePos = MouseGetPos()If _IsPressed("25") And _IsPressed("26") Then ;LeftUp
[/autoit][autoit][/autoit][autoit]
MouseMove($MousePos[0] - $Move_Sensivity, $MousePos[1] - $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("27") And _IsPressed("26") Then ;RightUp
MouseMove($MousePos[0] + $Move_Sensivity, $MousePos[1] - $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("25") And _IsPressed("28") Then ;LeftDown
MouseMove($MousePos[0] - $Move_Sensivity, $MousePos[1] + $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("27") And _IsPressed("28") Then ;RightDown
MouseMove($MousePos[0] + $Move_Sensivity, $MousePos[1] + $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("25") Then ;Left
MouseMove($MousePos[0] - $Move_Sensivity, $MousePos[1], $Move_Speed)
ElseIf _IsPressed("26") Then ;Up
MouseMove($MousePos[0], $MousePos[1] - $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("27") Then ;Right
MouseMove($MousePos[0] + $Move_Sensivity, $MousePos[1], $Move_Speed)
ElseIf _IsPressed("28") Then ;Down
MouseMove($MousePos[0], $MousePos[1] + $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("25") And _IsPressed("26") Then ;LeftUp
MouseMove($MousePos[0] - $Move_Sensivity, $MousePos[1] - $Move_Sensivity, $Move_Speed)
EndIfSleep(10)
[/autoit]
WEndIch code's eben fertig (mit Zusatztasten, mausclicks etc) und mach dann nachher nen Thread

-
Da's auch richtig so.
"If -> Else" würde ergeben das die Abfrage danach immer zustimmt.
Habs mit Diagonal jetzt auch hinbekommen, musste nur n den anfang
-
Siehe Edit, an der Schleife lag's net

-
Wollte ein kleines Tool schreiben um mit der Tasta die Maus zu steuern
damit ich mich mit ner externen Tasta aufs bett legen kann.Problem: Die Abfrage mit 2x IsPressed wird ausgeführt auch wenn ich NICHTS mache o_O
Ist grad erst ne 5min Version xD
Spoiler anzeigen
[autoit];---------------------------------------------------------------------------—
[/autoit] [autoit][/autoit] [autoit]
; MouseToKeyboard
; By Sen // Christopher Klay
;---------------------------------------------------------------------------—
; Version - 1.0
;---------------------------------------------------------------------------—
#include <Misc.au3>
#cs
25 LEFT ARROW key
26 UP ARROW key
27 RIGHT ARROW key
28 DOWN ARROW key10 SHIFT key
[/autoit] [autoit][/autoit] [autoit]
11 CTRL key
#ce
$Move_Speed = "1"
$Move_Sensivity = "7"
$Mouse_Speed = "1"
$Mouse_Scrolls = "1"While 1
[/autoit] [autoit][/autoit] [autoit]
$MousePos = MouseGetPos()If _IsPressed("25") Then ;Left
[/autoit] [autoit][/autoit] [autoit]
MouseMove($MousePos[0] - $Move_Sensivity, $MousePos[1], $Move_Speed)
ElseIf _IsPressed("26") Then ;Up
MouseMove($MousePos[0], $MousePos[1] - $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("27") Then ;Right
MouseMove($MousePos[0] + $Move_Sensivity, $MousePos[1], $Move_Speed)
ElseIf _IsPressed("28") Then ;Down
MouseMove($MousePos[0], $MousePos[1] + $Move_Sensivity, $Move_Speed)
ElseIf _IsPressed("25") & _IsPressed("26") Then ;LeftUp
MouseMove($MousePos[0] - $Move_Sensivity, $MousePos[1] - $Move_Sensivity, $Move_Speed)
EndIfSleep(10)
[/autoit]
WEndEdit:
[autoit]ElseIf _IsPressed("25") & _IsPressed("26") Then ;LeftUp
[/autoit]
[autoit]
Wtf muss ich müde sein.ElseIf _IsPressed("25") And _IsPressed("26") Then ;LeftUp
[/autoit]
Wäre richig gewesen.
Aber mal ne andere Frage, jemand ne Idee wie mans leichter hinbekommt?
"LeftUp" wird z.b. nich ausgeführt weil ja "left" oder "up" immer zuerst kommen :s -
Ah okay, falsch verstanden.
Ich denke allerdings auch das der Code complexer ist.
Sonst würde er denke ich keine Frage stellen die man leichter lösen kann
-
Ich frag mich immer noch warum so umständlich.
[autoit]
[/autoit]
For $i=3 To 8 Step 1
Msgbox(0,"Test",$i)
Next
For $i=1 To 8 Step 1
Msgbox(0,"Test",$i)
NextMacht genau was du willst. Warum also nur eine Msg Box?
Ob du eine MsgBox 20x aufrufst, oder 2 10x macht keinen Unterschied o.o -
[autoit]
For $i=3 To 8 Step 1
[/autoit]
Msgbox(0,"Test",$i)
If $i = 8 Then
$i = 1
EndIf
NextUngetestet.
Sonst nur AspirinJunkie's Version. -
Zitat
Ich hatte mir schon gedacht, die Anzahl des Arrays "Ubound(Filelist)" durch 100 zu dividieren, und anschließend durch $i += 1 in der For Regel jeweils die jeweiligen Prozentpunkte an die Process Bar zu schicken.
Aber wie sieht es aus wenn das Array 19 Bilder beinhalten, und eine periodische Zahl rauskommt.
Wie kann man dies bewerkstelligen?Wenn du die Anzahl der Bilder bereits hast kannst du ganz einfach einne Wert for die Bar ermitteln.
[autoit]
Beispiel $Bilder[0] ist die Anzahl deiner Bilder.
[/autoit][autoit][/autoit][autoit]
$FertigeBilder = 0 ;Siehe untenFor $i = 1 To $Bilder[0]
[/autoit][autoit][/autoit][autoit]
; Dein Code um die Datein zu taggen. Zum verstehen:
$Pic[$i] = Titel
; & so weiter.;Dann für die Bar:
[/autoit]
$FertigeBilder = $FertigeBilder +1
GUICtrlSetData($Bar, ($FertigeBilder / $Bilder[0]) * 100)So zeigt die Bar mit Handle $Bar immer an wie weit du mit deinen Bildern bist.
Im Forum Editor geschrieben, nicht schlagen ;d
Hoffe ich hab dich jetzt nicht falsch verstanden xDEdit:
[autoit]Round(($FertigeBilder / $Bilder[0]) * 100, 2)
[/autoit]
wäre vlt sinnvoller. Muss aber nicht sein
-
[autoit]
[/autoit][autoit][/autoit][autoit]
$GamePath = 'Pfad zum Spiel' ;-> Datei Pfad zu deinem Speil z.B. "C:/Game.exe)
$Key = '{CTRLDOWN}s{CTRLUP}' ;-> HotKey zum speichern
$Sleep = '10' ;-> Zeit in Minuten
$Control = '' ;-> Unwichtig, kannst du aber ändern wenn die die Contril ID weißt.$PID = Run($GamePath)
[/autoit][autoit][/autoit][autoit]Do
[/autoit][autoit][/autoit][autoit]
$hWnd = WinGetHandle($PID)
Until IsHWnd($hWnd)$Timer = TimerInit()
[/autoit][autoit][/autoit][autoit]While ProcessExists($PID)
[/autoit]
If TimerDiff($Timer) > $Sleep*60*1000 Then
ControlSend($hWnd, '', '', $Key)
$Timer = TimerInit()
EndIf
Sleep(1000)
WEndSollte gehen?

-
WinXP Pro SP2 mit GraphicEnchant Mod.
Aber auch wenn ich GE off setze ist der Fehler da.Eventuell die Auflösung?
Benutze 1680x1050 -
[Blockierte Grafik: http://y52.img-up.net/Screenaoyi8.png]
So schauts bei mir aus

Die Zahlen überschneiden teilweise die Kästen, das meinte ich.
Und halt bei Sebastien & Nico der Name
-
Eben kurz angetestet, keine Fehler gefunden.
Aber ich würde:1. Das scrollen per Mausrad min 2x so schnell machen (Ich dachte ich sterbe bis ich unten bin xD)
2. Die Kästen auf jeden Fall größer. Die Zahlen überschneiden sich teilweise.
3. Ä/Ö/Ü fixen
-
Ungetestet, da ich grad im Forum Editor schreibe
[autoit]
[/autoit][autoit][/autoit][autoit]
$Titel = "Mein Game" ;-> Dein Game Titel. (Vom Fenster) So das beim wechseln trotzdem das Game gesichert wird.
$Key = "^s" ;-> Strg+S
$Sleep = "10" ;-> Minuten!
$ExitKey = "^e" ;-> Strg+E
$Control = "" ;-> Kannst du noch ändern, wenn du per Au3Info die Control Bezeichnung findest. Sonst so lassen.HotKeySet($ExitKey, "MyExit")
[/autoit][autoit][/autoit][autoit]While True
[/autoit][autoit][/autoit][autoit]
ControlSend($Titel, "", $Control, $Key)
Sleep($Sleep * 60 * 1000)
WEndFunc MyExit()
[/autoit]
Exit
EndFunc -
Wenn ich micht nicht irre gibt es die Funktion schon.
Zumindest zeigt mein gutes altes AskSystem PID & Window Name an.
http://sensidethink.byethost4.com/?page_id=2
Quelltext sollte beiliegen.
-