Was genau führst Du denn innerhalb der Schleifen aus? Vielleicht reicht ja auch ein AdlibRegister!?
Beiträge von Oscar
-
-
Das geht auch einfacher:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <WinAPI.au3>$Struct = DllStructCreate($tagPoint)
[/autoit]
$hGui = GUICreate('Test')
$hButton1 = GUICtrlCreateButton('1', 10, 10, 100, 20)
$hButton2 = GUICtrlCreateButton('2', 120, 10, 100, 20)
GUISetState()
Do
DllStructSetData($Struct, "x", MouseGetPos(0))
DllStructSetData($Struct, "y", MouseGetPos(1))
$hwnd = _WinAPI_WindowFromPoint($Struct)
ToolTip('Aktuelle ID = ' & _WinAPI_GetDlgCtrlID($hwnd) & @CR & 'Button1-ID = ' & $hButton1 & @CR & 'Button2-ID = ' & $hButton2)
Until GUIGetMsg() = -3 -
Wie bist Du denn drauf?
Jedem seine Meinung, aber diese Vogelstrauß-Mentalität (Kopf in den Sand stecken) bringt ja nun mal überhaupt nichts.Ich komme ja nun aus dem Norden und war auch noch nicht in Stuttgart, aber die Aktion dort finde ich gut und richtig. Das wurde zwar schon vor ein paar Jahren inflationär gebraucht, aber "Wir sind das Volk" bringt es eigentlich auf den Punkt.
Einfach resigniert aufgeben, empfinde ich als nicht gerade erstrebenswert.Um beim Thema zu bleiben: Schlichterspruch "Stuttgart21+" das ist doch Verarsche hoch drei. Jetzt will man noch mehr Kohle rausschmeissen?! Ich hoffe jedenfalls, dass die Proteste weitergehen.
-
Kommt darauf an, was Du vorhast. @GUI_CtrlId liefert Dir die ID des Control-Elements, dass den Event ausgelöst hat.
-
Nein, das geht nicht.
Du könntest das aber über einen Umweg machen:
[autoit]
[/autoit][autoit][/autoit][autoit]
GUICtrlSetOnEvent(-1, '_Button')Func _Button()
[/autoit][autoit][/autoit][autoit]
_Button2(42)
EndFuncFunc _Button2($Parameter)
[/autoit]
EndFunc -
Eine andere Möglichkeit wäre, dass Du Dein Syncprogramm im Autostart lässt, aber nicht ständig abfragst, ob ein Stick angesteckt wurde, sondern $WM_DEVICECHANGE für Deine GUI registrierst.
Dann wird die Routine zum neu einlesen nur aufgerufen, wenn ein Device hinzugefügt oder entfernt wurde. Dein Syncprogramm kann in der Zwischenzeit die Sleep-Endlosschleife "abarbeiten".
-
Wenn Du mehrere String miteinander verbinden willst, musst Du das "&"-Zeichen dazwischen setzen:
[autoit]
[/autoit]
$sDir = 'D:\Bilder\' & StringFormat('%s.%s.%s', @MDAY, @MON, @YEAR)
$sDir1 = 'D:\Schnitte\Backup\' & StringFormat('%s.%s.%s', @MDAY, @MON, @YEAR)
DirCreate($sDir & "\Steine\")
DirCreate($sDir1& "\Steine\")
DirCopy('D:\Bilder\Steine\', $sDir & "\Steine\", 1)
DirCopy('D:\Bilder\Pflastersteine\', $sDir & "\Pflastersteine\", 1)P.S.: Für AutoIt-Code bitte den AutoIt-Button im Editor benutzen.
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. -
Stimmt! Du hast recht. Es wird dabei immer das aktuelle Fenster benutzt (gerade den Browser geschlossen
).
Ok, mal sehen, ob das noch irgendwie anders geht... -
Speicher den Pfad in einer Variablen:
[autoit]
[/autoit]
$sDir = 'D:\' & StringFormat('%s.%s.%s', @MDAY, @MON, @YEAR)
DirCreate($sDir)
DirCopy('D:\Bilder', $sDir) -
Zum Beispiel so:
[autoit]DirCreate(@ScriptDir & '\' & StringFormat('%s.%s.%s', @MDAY, @MON, @YEAR))
[/autoit]Edit: Mist, schon wieder zu spät.

-
Ich würde die Explorer nicht per ShellExecute starten sondern mit Run. So erhälst Du die PID und kannst Dir darüber das Handle des Fensters holen:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
$width = @DesktopWidth / 2
$height = @DesktopHeight - 90$ExplorerLeft = Run('Explorer.exe')
[/autoit] [autoit][/autoit] [autoit]
$HwndLeft = WinGetHandle($ExplorerLeft)
WinWait($HwndLeft)
WinMove($HwndLeft, '', 0, 0, $width - 1, $height)$ExplorerRight = Run('Explorer.exe')
[/autoit] [autoit][/autoit] [autoit]
$HwndRight = WinGetHandle($ExplorerRight)
WinWait($HwndRight)
WinMove($HwndRight, '', $width, 0, $width - 1, $height)Sleep(3000)
[/autoit] [autoit][/autoit] [autoit]WinClose($HwndLeft)
[/autoit]
WinClose($HwndRight) -
Theoretisch geht es so:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>$hGui = GUICreate('MultiPrint', 600, 120)
[/autoit]
GUICtrlCreateLabel('Datei:', 10, 10, 50, 20)
$hPath = GUICtrlCreateInput('', 60, 10, 480, 20)
$hSelect = GUICtrlCreateButton('...', 550, 10, 40, 20)
GUICtrlCreateLabel('Anzahl:', 10, 40, 50, 20)
$hCount = GUICtrlCreateInput('1', 60, 40, 50, 20, $ES_NUMBER)
$hPrint = GUICtrlCreateButton('Drucken', 120, 40, 80, 20)
GUISetState()
While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $hSelect
$sPath = FileOpenDialog('Bitte Datei auswählen die gedruckt werden soll.', '', 'Textdateien (*.txt)', 3, '', $hGui)
If FileExists($sPath) Then GUICtrlSetData($hPath, $sPath)
Case $hPrint
$iCount = GUICtrlRead($hCount)
$sFile = GUICtrlRead($hPath)
If $sFile <> '' And $iCount > 0 Then
For $i = 1 To $iCount
_FilePrint($sFile)
ConsoleWrite($sFile & ' ERROR = ' & @error & @CR)
Next
EndIf
EndSwitch
WEnd
Aber _FilePrint() funktioniert bei mir (Windows7, 64 Bit) nicht.
Edit: Mist, Schnitzel war schneller.

-
Herzlichen Glückwunsch!
Ich wünsche Dir einen schönen Tag.
-
Suchfunktion benutzen! Hatten wir schon "tausend mal"!
[Thread closed] -
Sprenger120: Das kann ich absolut nicht bestätigen. Ich habe ebenfalls eine 5770 und Windows7. Bei mir läuft das Ganze einwandfrei, ohne jeglichen Absturz.
-
Danke!
Noch ein Hinweis: Wenn ihr das jetzt schon testen wollt, dann in dieser Zeile:
[autoit]If @MON = 12 And @MDAY > $i Then
[/autoit]
die 12 gegen eine 11 ersetzen.
-
Ich habe auch mal ein Adventskalender-Skript erstellt. Dabei werden die Felder erst freigeschaltet, wenn der entsprechende Tag erreicht ist.
Screenshot (vor dem 1.Dezember):
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Screenshot (am 16. Dezember):
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Das Skript erwartet die Bilder im Format "01.jpg", "02.jpg", "03.jpg" bis "24.jpg" im Unterverzeichnis "img". Die Bilder "01.jpg" bis "23.jpg" sollten dabei eine Auflösung von 400x600 haben und das Bild "24.jpg" eine Auflösung von 1024x768.
Ansonsten müsst ihr das Skript entsprechend anpassen.Das Hintergrundbild ist von pixelio.de und hat folgende Nutzungsrechte:
ZitatVerwendung: redaktionell und kommerziell
Bearbeitungsrecht: erweitertes Bearbeitungsrecht zugewiesen
Bildquellenangabe: Joujou / pixelio.deDas Skript, das Hintergrundbild und das Icon befinden sich im ZIP-Archiv (Anhang).
-
Sieht nach fehlenden Rechten aus. Probier mal
[autoit]#RequireAdmin
[/autoit]
an den Anfang des Skripts. -
Wenn mich nicht alles täuscht, dann dürfte Deine 4650 sogar schneller oder in etwa gleichschnell sein, wie die 5450. Oder sollte man besser gleichlangsam sagen?!
Die 5770 ist auf jeden Fall deutlich besser. Aber wenn Dir die 4650 ausreicht, warum dann einen neuen Rechner? -
hellboy3: Prozessor ist gut, 4GB RAM sollte auch reichen, aber die Grafikkarte ist nicht gerade berauschend. Da würde ich zu einer HD 5770 raten, die ist momentan ziemlich im Preis gefallen und ist bei Spielen viel besser geeignet.