schau mal unter BlockInput(1)
Beiträge von Schnuffel
-
-
Zitat
Jedoch habe ich zurzeit 2 Probleme.
und wenn Du uns noch sagst, was Deine Probleme sind...
-
oder dem Label den erweiterten Syle zuweisen:
Spoiler anzeigen
[autoit]$B = GUICtrlCreateLabel("", 30, 331, 195, 37,-1,$SS_NOTIFY) ;Soll auf Klick reagieren
[/autoit] -
Hallo Commander21,
du fragst in Deiner While-Schleife ohne Rücksicht auf Erstellung jeden Button ab.
Erstell Dir doch nur 3 Button und beschrifte / hide was Du nicht brauchst, dann kannst Du diese auch abfragen,
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_MsgBox (1, "Titel", "Text", 500, 500, 0x00FF00)
Sleep (2000)Func _MsgBox ($Flag, $Titel, $Text, $Left, $Top, $Color)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
Local $Button1, $Button2, $Button3, $Button4, $Button5, $Button6, $Button7, $Button8, $Button9, $Button10, $Button11, $Button12, $Button13, $Button14, $Button15, $Button16
Local $Size = 7
Local $FontWidth = 50
$MsgGUI = GUICreate ($Titel, 225, 200, $Left, $Top)
GUISetBkColor ($Color)
GUISetState (@SW_SHOW, $MsgGUI)
; ---
If $Flag = 0 Then
$Button1 = GUICtrlCreateButton ("Ok", 75, 175, 75, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
ElseIf $Flag = 1 Then
$Button2 = GUICtrlCreateButton ("Ok", 25, 175, 75, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
$Button3 = GUICtrlCreateButton ("Abbrechen", 125, 175, 75, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
ElseIf $Flag = 2 Then
$Button4 = GUICtrlCreateButton ("Abbrechen", 10, 175, 60, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
$Button5 = GUICtrlCreateButton ("Wiederhohlen", 80, 175, 60, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
$Button6 = GUICtrlCreateButton ("Ignorieren", 150, 175, 60, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
ElseIf $Flag = 3 Then
$Button7 = GUICtrlCreateButton ("Ja", 10, 175, 60, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
$Button8 = GUICtrlCreateButton ("Nein", 80, 175, 60, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
$Button9 = GUICtrlCreateButton ("Abbrechen", 150, 175, 60, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
ElseIf $Flag = 4 Then
$Button10 = GUICtrlCreateButton ("Ja", 25, 175, 75, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
$Button11 = GUICtrlCreateButton ("Nein", 125, 175, 75, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
ElseIf $Flag = 5 Then
$Button12 = GUICtrlCreateButton ("Wiederhohlen", 25, 175, 75, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
$Button13 = GUICtrlCreateButton ("Abbrechen", 125, 175, 75, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
ElseIf $Flag = 6 Then
$Button14 = GUICtrlCreateButton ("Abbrechen", 10, 175, 60, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
$Button15 = GUICtrlCreateButton ("Wiederhohlen", 80, 175, 60, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
$Button16 = GUICtrlCreateButton ("Weiter", 150, 175, 60, 20)
GUICtrlSetFont (-1, $Size, $FontWidth)
EndIf ;==> Flags
$MsgText = GUICtrlCreateEdit ($Text, 10, 10, 205, 160, 0x0800)
; ---
While 1
$msg = GUIGetMsg()
Select
;~ Case $msg = $Button1
;~ Return 1
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
Case $msg = $Button2
Return 1
GUISetState (@SW_HIDE, $MsgGUI)
ExitLoop
Case $msg = $Button3
Return 2
GUISetState (@SW_HIDE, $MsgGUI)
ExitLoop
;~ Case $Button4
;~ Return 2
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
;~ Case $Button5
;~ Return 4
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
;~ Case $Button6
;~ Return 5
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
;~ Case $Button7
;~ Return 6
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
;~ Case $Button8
;~ Return 7
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
;~ Case $Button9
;~ Return 2
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
;~ Case $Button10
;~ Return 6
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
;~ Case $Button11
;~ Return 7
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
;~ Case $Button12
;~ Return 4
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
;~ Case $Button13
;~ Return 2
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
;~ Case $Button14
;~ Return 2
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
;~ Case $Button15
;~ Return 4
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
;~ Case $Button16
;~ Return 11
;~ GUISetState (@SW_HIDE, $MsgGUI)
;~ ExitLoop
Case $msg = -3
GUISetState (@SW_HIDE, $MsgGUI)
ExitLoop
EndSelect ;==> MsgBox
Sleep (10)
WEnd
EndFunc ;==> _MsgBox -
Oscar ,
ich dachte nur, weil er geschrieben hat:
ZitatNun möchte ich diese Zahlen genau so in ein 2D-Array schreiben. Mein Anfang:
Ansonsten sorry,
will nicht dazwischenfunken -
Hallo jautois,
in der Lösung von Oscar erscheinen aber nur die 9'er in dem Array.
Wenn Du alle Zahlen in Deinem Array haben willst, dann kannst Du das so lösen:Spoiler anzeigen
[autoit]#include <array.au3>
[/autoit]
#include<file.au3>
Dim $array[18][24]
Global $zahlencode
_FileReadToArray(@DesktopDir&'\zahlen.txt',$zahlencode); Zahlen von oben mit "Enter"
For $i = 0 To $zahlencode[0]-1
For $t = 0 To 23
$array[$i][$t] = StringMid($zahlencode[$i+1],$t+1,1)
Next
Next
_ArrayDisplay($array) -
nachdem ich vorhin etwas "geschlammpt habe
mit den einstelligen Zeiten hier jetzt wenigsten's die AtomUhr...Spoiler anzeigen
[autoit]#include<String.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <DATE.au3>InetGet("http://www.uhrzeit.org/atomuhr.html","Uhrzeit.html",1)
[/autoit] [autoit][/autoit] [autoit]
$openfile = FileOpen("Uhrzeit.html",0)
$read_1 = FileRead($openfile)
sleep(4000)
FileClose($openfile)
FileDelete("Uhrzeit.html")
$gettime = _StringBetween($read_1,'<div id="anzeige">','</div>')
;~ GUICtrlSetData($Label1,$gettime[0])$time = $gettime[0]
[/autoit] [autoit][/autoit] [autoit]$newtime = StringSplit($time,":")
[/autoit] [autoit][/autoit] [autoit];_SetTime($newtime[1],$newtime[2],$newtime[3])
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, '', $newtime[1]&":"&$newtime[2]&":"&$newtime[3])Exit
[/autoit] -
Hallo ernergy98,
ich hab da mal was zusammengebaut...
Spoiler anzeigen
[autoit]$str = "4/27/2009 8:35 PM"
[/autoit] [autoit][/autoit] [autoit]
MsgBox(4160, '', "Datum & Uhrzeit: " & _timeconvert($str))Func _timeconvert($data)
[/autoit]
$a_str = StringSplit($str," ")
$d_str = StringSplit($a_str[1],"/")
$z_str = StringSplit($a_str[2],":")
If $a_str[3] = "PM" Then $z_str[1] += 12
$str = $d_str[2]&"."&$d_str[1]&"."&$d_str[3]&" "&$z_str[1]&":"&$z_str[2]
Return($str)
EndFunc -
Kannst das aber auch mit einer externen Software realisieren, falls Du noch mehr Anwendungen mit HotKey starten willst:
Link -
sorry, musste halt Dein exit wieder aktivieren ...
-
hab auch noch ein egekürzte Variante,
den HotKeySet brauchst Du nicht in der Schleife, genauso das FileOpen/Close
hab auch mal die sleep's angepasst.
das AdlibEnable brauchst Du auch nicht ...Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <SliderConstants.au3>
#include <WindowsConstants.au3>
HotKeySet("{F6}", "_Get")
HotKeySet("{ESC}", "_Exit")
Global $Mfile = @ScriptDir & "\Mouseclick.au3", $Pos, $Toogle = 0
FileOpen($Mfile, 1); Gui -->
[/autoit]
$Options = GUICreate("Options", 400, 190)
GUISetBkColor(0x00E0FFFF) ; will change background color
GUICtrlCreateGroup("Speed", 15, 15, 230, 70)
$label = GUICtrlCreateLabel("Speed = 45", 23, 37)
$slider = GUICtrlCreateSlider(23, 57, 200, 20, BitOR($TBS_AUTOTICKS, $WS_BORDER))
GUICtrlSetState(-1, $Gui_FOCUS)
GUICtrlSetLimit(-1, 100, 0) ; change min/max value
GUICtrlCreateGroup("Key", 15, 100, 230, 70)
GUICtrlCreateLabel("Choose the key which will get pressed.", 23, 122)
$Key = GUICtrlCreateCombo("Left", 23, 140, 75)
GUICtrlSetData(-1, "Right|Middle", "Left") ; add other item snd set a new default
GUICtrlSetData($slider, 10) ; set cursor
GUICtrlCreateGroup("Clicks", 260, 15, 125, 70)
$1Click = GUICtrlCreateRadio("1 Click", 267, 37)
GUICtrlSetState(-1, $GUI_CHECKED)
$2Click = GUICtrlCreateRadio("2 Click's", 267, 57)
$Start = GUICtrlCreateButton("Starten", 262, 105, 123, 65)
GUISetState()
;==>
; Schleife für die Gui
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $Start
$Speed = GUICtrlRead($slider)
$Keys = GUICtrlRead($Key)
$1 = GUICtrlRead($1Click)
$2 = GUICtrlRead($2Click)
GUIDelete()
_getPos()
EndSwitch
sleep(50)
GUICtrlSetData($label, "Speed = " & GUICtrlRead($slider))
WEnd
;==>
; Wartet bis F6 Gedrückt wird und Zeigt einen TrayTip an
Func _getPos()
TrayTip("Press" & " 'ESC' " & "to Exit.", "Press" & " 'F6' " & "to get the coordinates", 500)
EndFunc
;==>_getPos
; Checkt alle Daten und schreibt sie in die Datei
Func _Get()
$Pos = MouseGetPos()
If $1 = $GUI_CHECKED Then
$clicks = 1
ElseIf $2 = $GUI_CHECKED Then
$clicks = 2
EndIf
FileWrite($MFile, "MouseClick('" & $Keys & "', " & $Pos[0] & ", " & $Pos[1] & ", " & $clicks & ", " & $Speed & ")" & @CRLF)
EndFunc
;==>_Get
; Beendet das Script
Func _Exit()
FileClose($MFile)
Exit
EndFunc
;==>_Exit -
einen echten Schutz bieten nur Hardware-Dongle oder
(nicht ganz ernst gemeint)
Fingerabdruck Sensoren oder ein genetischer Fingerabdruck, wenn es denn an eine Person gebunden sein soll.Du kannst auch noch versuchen mit einer Web-Cam einen Irisscan zu machen.
Nein jetzt aber mal im Ernst:
Also ich kenne noch eine Möglichkeit von SwishMax (Flash-Software)
Die machen das so: Man installiert das Programm.
Beim ersten Aufruf muß man einen Code, den das Programm aus gerätespezifischen Parametern generiert,
im Internet in eine Box kopieren zusammen mit der registrierten Email-Adresse.
Dieses php-Script generiert einen Schlüssel, den man per Email erhält. Diesen kopiert man in des Programm und die Software ist freigeschaltet.Damit ist die Software zwar nicht an die Person gebunden aber wenigstens an die Machine.
Vielleicht hilft's...
-
aber bitte mach mal in Deine MsgBox einen Inhalt, sonst gibt es weiter Fehler
ZitatMsgBox(0, "Ein Wert wurde nicht konfiguriert. Führ vor dem Start die Config.exe aus")
Spoiler anzeigen
[autoit]MsgBox(0, "Ein Wert wurde nicht konfiguriert. Führ vor dem Start die Config.exe aus","Hier kommt der Inhalt rein...")
[/autoit] -
na ist doch ganz einfach.
sleep(100) sagt dem Processor (nicht direkt, aber so ähnlich...):
Ich brauche die nächsten 100 mSec keine Rechenleistung, bitte übergehe mich und komm in 100 mSec wieder.
In dieser Zeit wird an Deinem Script/Prog nichts berechnet, geschleift, geprüft, oder sonst irgendetwas getan.
Bei Zeitkritischen Programmen (in anderen Programmiersprachen)
kann man auch einen sleep von weniger als 1 mSec eingeben. Die kleinste Größe (1 mSec) ist nur von AutoIt "vorprogrammiert"Du könntest in Dein Script also auch einen sleep(1) einbauen, und die Prozessorlast wäre nicht 100%.
Heißt: Dein Script gibt 1000x in der Sec. die Rechenleistung wieder ab an den Leerlaufprozess, der die Verteilung steuert.
heißt aber auch, dass Dein Prog die Rechenleistung 1000x /sec erhält.
Welches Prog in AutoIt das braucht ist eine andere Frage....Edit: Jam00 Wir streiten in keinster Weise. Wir versuchen nur zu lernen und zu verstehen...
-
nichts gegen den Papst, aber jetzt muß ich nochmal...
das mit dem 10x weniger die Schleife und so, das stimmt so aber auch nicht.
Wie oft der Rechner die Schleife durchläuft ist gelinde gesagt schnurzpiep*....siehe mein Post: Link
-
Zitat
Sleep (10) ;Lässt das Script 10 Sec nichts machen, um die CPU-Aulastung zu verringern
bitte, wenn Du schon kommentierst, dann aber auch richtig
Das sind 10/1000 Sec... -
-
hier der Unterschie dunter Details:
Dein Kumpel:
PEiD..: KGB SFXDu:
PEiD..: UPX 2.90 [LZMA] -> Markus Oberhumer, Laszlo Molnar & John ReiserDas ist der Packer UPX, der glaube ich in der Version 3.3.0.0 angepasst wurde...
-
dann brauche ich eine Glaskugel ...
-
verwendet Ihr beide die selbe Version von AutoIt?