schau mal hier
da hat einer eine BlockInputEx UDF geschrieben, mit der man getrennt Maus oder/und Keyboard blocken kann.
schau mal hier
da hat einer eine BlockInputEx UDF geschrieben, mit der man getrennt Maus oder/und Keyboard blocken kann.
Hallo pceumel,
ich denke mal, dass die Funktion einfach den letzten ASCII-Wert aus dem Tastaturpuffer ausliest.
Hallo Baron1977,
ZitatWinSetState("Nero-7.10.1.0_deu_trial.exe", @SW_DISABLE)
Run("Nero-7.10.1.0_deu_trial.exe")
WinWaitActive("Nero Ask Toolbar")
1. Du kannst kein Fenster mit WinSetState "bearbeiten", das noch gar nicht existiert
2. Das Fenster selbst hat sicherlich nicht den Namen: Nero-7.10.1.0_deu_trial.exe
3. Der Aufruf des Befehls WinSetState erfordert mehr Parameter.
Du musst nach dem Fensternamen auch noch beliebigen Text aus dem Fenster oder "" angeben.
WinSetState ( "title", "text", flag ) siehe Hilfe ...
4. Dein Aufruf müsste dann so aussehen:
Run("Nero-7.10.1.0_deu_trial.exe")
WinWaitActive("Nero Ask Toolbar")
WinSetState("Nero Ask Toolbar","", @SW_DISABLE)
5. @SW_DISABLE scheint nicht bei allen Fenstern zu funktionieren. In diesem Fall versuche es mit @SW_HIDE.
Du kannst ja die Installation komplett fertig machen und wenn es funktioniert zum Schluß das Fenster "verstecken"
Anbei ein Beispiel, wie das mit dem Verstecken funktioniert.
Wenn Du das Fenster verstecken willst, und nebenbei auch ein Anwender damit arbeiten soll, kommst Du nicht umhin, die Installation mit ControlSend zu machen.
Die Funktionsweise von ControlSend entnimm bitte der Hilfe.
Verwende zum Identifizieren der einzelnen Controls deines Installationsfensters das Tool AutoIt Windo Info. (ist im Programmordner von AutoIt)
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
ShellExecute("notepad.exe")
WinWait("Unbenannt - Editor")
WinMove("Unbenannt - Editor","",0,0,400,200)
Send("Dieses Fenster verschwindet jetzt gleich")
Sleep(1000)
WinSetState("Unbenannt - Editor","",@SW_HIDE)
ControlSend("Unbenannt - Editor","","[CLASSNN:Edit1]",@CRLF&"Dieser Text wurde geschrieben, während ich unsichtbar war :-)")
WinMove("Unbenannt - Editor","", 0, 0, 550,200)
sleep(3000)
WinSetState("Unbenannt - Editor","",@SW_SHOW)
FF ( Viel Vergnügen) ![]()
bitte schön:
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]GUICreate('',300,250)
GUISetState()
GUICtrlCreateLabel("",5,230,290,1)
GUICtrlSetBkColor(-1,0xA0A0A0)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
Hallo zusammen,
ich hatte mich gar nicht getraut meinen Vorschlag öffentlich zu machen, da ich es im ersten Moment für zu einfach hielt. ![]()
Um mal einen Überblick über Strategien und mathematische Möglichkeiten zu bekommen empfehle ich die Seite:
Sudoku-Solver
ich denke wir müssen es nicht übertreiben und alle dokumentierten 35 Strategien umsetzen...
Es soll ja ein Spaß bleiben. ![]()
(Habe auch erst im Nachhinein festgestellt, dass Sudoku eigentlich schon eine mathematisch-wissenschaftliche Herausforderung ist) ![]()
Um die Regeln noch abzustecken:
gewertet wird das Erreichen der Lösung und die benötigte Zeit.
Dabei hoffe ich auf Unterstützung von peethebee
(hab mit Zeitmessung und so nicht so viel am Hut. Außerdem denke ich dass er unparteiisch messen wird.
Verwendung zur Bestimmung findet das Sudoku vom 26.04.09 von dieser Seite
Dieses wird auch erst an diesem Tag bekannt sein. Ich kenne es auch nicht ![]()
Abgabeschluß ist der 25.04.09
Na dann
Happy Coding ![]()
ja wenn das sowieso eine automatische Installation werden soll,
warum dann nicht gleich das Installationsfenster verschwinden lassen mit:![]()
WinSetState("title", "text", @SW_HIDE)
[/autoit]Bedienen kannst Du das Fenster doch trotzdem.
Machste noch eine schöne kleine Gui als MsgBox, die in der oberen rechten Ecke sitzt, oder nur im Tray, oder .....
die über den Installationsstatus informiert ![]()
...oder auch nicht ![]()
Hallo juhuu32,
vielleicht kann ich noch zum Verständnis beitragen...
Es gibt keine Software, die erraten kann, wann oder wieso jetzt irgendein Fenster irgendeine Abfrage haben will.
Freu Dich, denn Du hast die "absolute" Kontrolle...
Heißt aber auch, dass Du immer wissen solltest wann welche Software nach welcher Eingabe verlangt.
Dafür das Ablaufdiagramm.
Damit kannst Du Dir jede mögliche Situation (Betriebssystem, Software, ...) die bei Dir von Belang ist visualisieren und für die Abfragen eine dem entsprechende "Reaktion" einbauen.
Dafür sind wie Der_Doc schon sagte IF-Else Anweisungen ganz gut zu gebrauchen.
Solltest Du direkte Programmierhilfen benötigen, dann ist es nicht nur gerne gesehen, sondern auch für alle sehr hilfreich, wenn Du dich erst einmal versuchst.
Solltest Du an einem Punkt "hängenbleiben" Stelle Deinen oder einen kurzen Beispielcode ins Forum und Du wirst in kürzester Zeit Hilfe und Lösung erhalten.
Und jetzt VIEL SPASS ![]()
Hallo Tigger1975,
[autoit]If Not FileExists($Settings) Then
MsgBox(16, $Progname, "Settings.ini kann nicht gefunden werden." & @CRLF & "Programm wird beendet.")
Exit (1)
EndIf
keine Settings.ini --> Hilfe schwierig ![]()
Unser BugFix hat sich mal die Mühe gemacht darüber ein Tutorial zu schreiben:
http://www.bug-fix.info/array_tut.htm
@Padmak: hat sich überschnitten. ![]()
ist doch kein Problem, hauptsache dem Kunden wird geholfen ...
![]()
ein letzter schubbs ....
#include <WindowsConstants.au3>
#include <GuiConstants.au3>
GUICreate("Object Inspektor", 200, 200, -1, -1, -1, $WS_EX_TOOLWINDOW)
GUISetState()
While True
Sleep(10)
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
ich denke das liegt an der Rechtevergabe in Vista.
Dafür dürfte die UAC verantwortlich sein...
versuche mal an den Anfang folgendes zu setzen
#requireadmin
RegWrite("HKLM64\SOFTWARE\VAR", "VAR", "REG_SZ", $var)
du kannst bei WinWait einen Timeout setzen.
If WinWait("Warning","",5) Then
send ("{ENTER 1}")
sleep (200)
EndIf
winwait ("EVEREST Ultimate")
send ("{ALT 1}")
sleep (200)
send ("H")
Du kannst die checkboxen mit send("{TAB}") & send("{SPACE}") ansprechen / ändern
So ala: "Schau dir mal in der Hilfe diese Funktion an: _DateDiff...", $sType vielleicht 'n'? und _Now vielleicht ...
was ich nicht verstehe:
wie funkey schon gesagt hat, wenn Du selbst das pic zuweist,
dann kennst Du doch schon den Namen der Datei.
Da verstehe ich den Sinn nicht dahinter, Sorry ![]()
Zitatalso ... nach der installation kommt leider kein Bestätigungs fenster sondern nur wieder ein fenster mit dem gleichen namen wie das installations fesnter sozusagen ein weiteres fenster....
da steht aber sicher ein anderer Text drin, den man zum Erkennen heranziehen kann mit WinWait("","text")
Solltest Du wirklich unterschiedliche Abfragen bei verschiedenen Windows-Versionen haben,
dann musst Du vor Start Deiner Installation eine Selektion einbauen mit der Abfrage des BS.
--> siehe dazu Hilfe: @OSVersion
einfach ausgedrückt machst Du Dir eine Abfrage:
Switch @OSVersion
Case "WIN_2008"
Case "WIN_VISTA"
Case "WIN_2003"
Case "WIN_XP"
Case "WIN_2000"
Case "WIN_NT4"
Case "WIN_ME"
Case "WIN_98"
Case "WIN_95"
EndSwitch
ZitatIch wollte mal wissen wie ich bei einem Pic in einer Gui den Aktuellen Bild-Name rausbekomm?
ich verstehe nur Bahnhof...
Meinst Du ein Pic in deiner eigenen Gui oder in einem fremden Programm?
Edit: und wieso "aktuellen Bildnamen"?
Ändert der sich den ständig??? ![]()
ist doch schon eine feine Sache :-),
Zitatda kommt dann meine 1. Schwierigkeit... da sind 2 Checkboxes die geprüft werden sollen, und dann nur bei ienem der beiden soll ein Häckchen sein...
da empfehle ich Dir das Tool AutoIt Info Window. Wurde bei der AutoIt-Installation mit installiert . Findest Du im AutoIt Ordner.
Damit kannst Du einzelne Controls herausfinden, die Du dann "bedienen" kannst etwa mit send, oder z.B. ControlSend. (einfach mal in der Hilfe nachlesen)
Zitatdanach kommt dann die installation selber an sich wie kann ich das dann so machen das der so lange wartet bis der fertig ist is ja je nach PC abhängig...
i.d.R. kommt nach Abschluß der Installation ein Bestätigungsfenster der Installation.
Setze in Deinem Script nach allen Eingaben einfach den Befehl WinWait(Fenstertitel,...).
Dann wartet Dein Script, bis eben dieses Fenster erscheint.