Also Prinzipiell ist es natürlich möglich. ControlClick zum Herauslesen der Nummern, eine INI-Datei zum Vergleiche und eine Schleife mit WinExists. Es kann aber saein, dass du den PC während des"klingelvorganges" nicht verweden kannst, weil Tastatur-/Maussimulationen gehen.
Beiträge von mille86
-
-
-
Na in der Methode RegWrite() im Keynamen
-
@StartupCommonDir reicht doch....
-
Na wie schnell wird der wohl werden
Ich fordere einen neuen Benchmark äh Messung -
Nur als Systemdienst - wenn es mal eingerichtet ist - ist es fast unmöglich das Prog zu entfernen, anstatt eines simplen HKEY_Runs
-
Das mit dem Umbennen habe ich auch schon gemacht, aber der AutoIt Compiler heißt auch so, bringt also nix. ZUmindet ist es kein Bug.
Hab meinen erweiterteren Taskmanager laufen lassen (Security Task Manager) und Opera beansprucht mal eben 4 Titel für sich: "Webseite", "Opera", "M", "Default IME"
Nervt zwar, die Sonderregeln, aber da ist AutoIt unschuldig -
Sie haben es als "NoBug" deklariert und folgenden Code-Beispiel als Argumentation aufgeführt:
Code
Alles anzeigen$var = WinList() For $i = 1 to $var[0][0] ; Only display visble windows that have a title If stringLeft($var[$i][0],4) = "Auto" Then ConsoleWrite("Title=" & $var[$i][0] & " Handle=" & $var[$i][1] & @CRLF) EndIf Next ConsoleWrite('>Before: WinGetTitle ( "[Active]" ) = ' & WinGetTitle ( "[Active]" ) & @crlf ) ;### Debug Console $rc = WinActivate("Auto") ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $rc = ' & $rc & @crlf & '>Error code: ' & @error & '>Extended code: ' & @extended & @crlf) ;### Debug Console$rc = WinActivate("Auto") ConsoleWrite('>After: WinGetTitle ( "[Active]" ) = ' & WinGetTitle ( "[Active]" ) & @crlf & @crlf ) ;### Debug Console ConsoleWrite('>Before: WinGetTitle ( "[Active]" ) = ' & WinGetTitle ( "[Active]" ) & @crlf ) ;### Debug Console $rc = WinActivate("AutoIt Help") ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $rc = ' & $rc & @crlf & '>Error code: ' & @error & '>Extended code: ' & @extended & @crlf) ;### Debug Console ConsoleWrite('>After: WinGetTitle ( "[Active]" ) = ' & WinGetTitle ( "[Active]" ) & @crlf ) ;### Debug Console
Ich kann das überhaupt nicht nachvollziehen
Edit1: Vielleicht wäre es sinnvoll, auf der deutschen Hilfe darauf hinzuweisen, das die Titel kein AutoIt enthalten dürfen, weil AutoIt-Titel in den eigenen Programmen vorkommt! Also dann Ansprechen über den Klassennamen erfolgen muss. -
BTW, ist in der deutschen Hilfe bei StringSplit() geschrieben. Versteck zugegeben...
-
Danke für die Bestätigung.
So habs dann im Bug-Tracker berichtet: http://www.autoitscript.com/trac/autoit/ticket/909
Sobald sich dort einer annimmt, wird das hier als gelöst gekennzeichnet. -
Hmmm eine Datei ist kein STring.
Gib mal ein zusammenhängendes Code-Beispiel an. SO kanns nicht funktionieren und aus den Erklärungen werde ich leider nicht schlau....
Probiere mal nur @LF (einmal in den Dateien und / oder einmal im StringSplit) -
Um den Fehler zu erklären:
Die If-Syntax war falsch; mit Else geht es nur, wenn die Then Bedingung in der nächsten Zeile ist -
Me 2
und ich knacks garantiert -
Das 2. Beispiel funktioniert bei mir auch, aber das erste nicht (ebenfalls WinXP SP3),
Habe noch was gefunden.
Opera Browser öffnen, dann zeigt er im Title "Schnellwahl - Opera" an und dieseszeigt die Box an, was nicht sein dürfte...
-
-
Okay, jetzt noch ein kleiner Nachschlag von mir:
Ohne die Hilfe, wäre ich gar nicht erst auf $cmdLine gekommen. In dem an sich sehr guten Erklärungen, gab es für das spezifisches Problem (keiner vs. einer Parameter) keine Lösung... -
Achso, DAS meintest du...
Also bei einen oder zwei Parameter, finde ich persönlich den If-Einzeiler eleganter,darüberhinaus super Implementierung -
Die sehr gute Hilfe schaue ich mir immer vorher an, da stand es halt auch nicht drin. Suchfunktion habe ich nur halbherzig verwendet, sorry...
Edit: Wegen der Break-Sache: War heute über 6 Stunden proggen, wie dumm von mir... Zeit zum schlafen gehen
Edit2: Für Nachzügler die Lösung
Tatsächlich wird erst der linke Ausdruck, DANN der rechte Ausdruck und dann beide zusammen ausgewertet... -
Hi,
ist mir just auch eingeleuchtet zur gleichen Zeit =)
Nur schade, dass Switch / Select kein break kennen, aber das ist eine andere Problematik...
ist gelöst!
Schönen Abend =)
EDIT:@schnueffel: hat bei mir nicht funktioniert -
Ok, also genau:
Mein Programm soll beim normalen Abruf über das Skript / exe normal laufen.
Wenn man aber nun eine lnk-Verknüpfung erstellt und einen Parameter anhängt, soll das Programm sich anders verhalten. In diesem Fall soll der Computer nach dem Programmablauf heruntergefahren werden, sobald der Parameter "shutdown" angehängt worden ist.
Das Problem ist nur, wenn kein Parameter angegeben worden ist, dann existiert auch keine $CmdLine[1]. Demzufolge bricht das Programm bei der Abfrage dieser Array-Konstante in diesem Fall ab.
Lösungsansatz:
Wie oben editiert, müsste ich prüfen, ob $CmdLine[1] schon existiert und nur dann die Abfrage machen