Ich hole ihn nochmal hoch ............
gibts auch eine einfach Lösung Bilder (gif) mit transparentem Hintergrund auf GUIs zu zeigen, ohne Bild über Bild, Icon über Bild?
Ich hole ihn nochmal hoch ............
gibts auch eine einfach Lösung Bilder (gif) mit transparentem Hintergrund auf GUIs zu zeigen, ohne Bild über Bild, Icon über Bild?
Dazu gabs mal einen Wettbewerb, vielleicht kannst Du ein Script verwenden:
musst es halt anpassen ...........
#include <Misc.au3>
Global $mouseposx, $mouseposy, $mousecol
Global $dll = DllOpen("user32.dll")
Local $file = FileOpen("test.txt", 1)
warte_auf_klick("Klicke auf den ersten Punkt")
FileWrite($file, $mouseposx & "," & $mouseposy & @CRLF)
warte_auf_klick("Klicke auf den zweiten Punkt")
FileWrite($file, $mouseposx & "," & $mouseposy & @CRLF)
FileClose($file)
DllClose($dll)
; ############################
[/autoit] [autoit][/autoit] [autoit]Func warte_auf_klick($text)
Local $pos
While 1
ToolTip($text)
If _IsPressed("01", $dll) Then
Beep(50, 80)
$pos = MouseGetPos()
$mouseposx = $pos[0]
$mouseposy = $pos[1]
$mousecol = Hex(PixelGetColor($mouseposx, $mouseposy), 6)
$mousecol = "0x" & $mousecol
Do ;warte bis Taste losgelassen wird
Until Not _IsPressed("01", $dll)
ToolTip("")
ExitLoop
EndIf
WEnd
EndFunc ;==>warte_auf_klick
Na ja ..... Danke für den Tip ...... aber Send funktioniert ja eben nicht!
und mein Beispiel ist auch nicht so prickelnd, habe das mit der Maus mal getestet,
ist auch nicht besser als MouseMove - weiß nicht was der Autor da meint gefunden
zu haben
Also üblicher Startvorgang:
- Parameter eingeben (Meßhäufigkeit [1/min], Dauer der Aufzeichnung, .....)
- mit Tabulator von Eingabefeld zu Eingabefeld wechseln
- Startbutton auch mit Tab auswählen
- Enter drücken
..... also wären Zahlen, Tabtaste und Enter zu simulieren (vielleicht Komma oder Punkt, bin ich nicht ganz sicher)
man könnte das auch irgendwie technisch lösen (Folientastatur etc.), Script wäre halt einfacher
Also zum Start ohne Tastatur:
- es geht mit
- es geht ohne
- nur rausziehen im Betrieb ist ein Problem
und die Mausgeschichte war nur ein Bsp., angeblich funzt es dort via Dll z.B. bei Programmen, die sonst
eine "externe" Mausansteuerung durch AutoIt verhindern, ich dachte vielleicht gibt es einen ähnlichen
Weg bei Tastenanschlägen auch ........
Signalverarbeitung und Dll´s sind für mich ein Buch mit 7 Siegeln, daher die Nachfrage
Hi ihr Tüftler,
ich bin um Rat gefragt worden, bin jetzt jedoch selber völlig ratlos .... vielleicht könnt ihr helfen!?!
Es geht um einen kleinen Prozeßrechner zur Datenaufzeichnung. Der läuft normalerweise völlig autark
ohne Usereingaben, nur zum Starten des Logs braucht er ein paar Parameter - immer die gleichen. Um
zu sparen (Platz- nicht Kostengründe) soll nun die Eingabe über ein Script statt über eine Tastaur erfolgen.
Mein Tip: Send oder CtrlSend
Klappt nicht, irgendwie nimmt er die Daten nicht an!!!
Nun habe ich folgendes Script gefunden, um Mausbefehle bzw. -bewegungen "low level" zu simulieren.
Func _MouseMovePlus($X, $Y,$absolute = 0)
Local $MOUSEEVENTF_MOVE = 1
Local $MOUSEEVENTF_ABSOLUTE = 32768
DllCall("user32.dll", "none", "mouse_event", "long", $MOUSEEVENTF_MOVE + ($absolute*$MOUSEEVENTF_ABSOLUTE), "long", $X, "long", $Y, "long", 0, "long", 0)
EndFunc
Microsoft gibt folgenden Hinweis
http://msdn.microsoft.com/de-de/library/ms171548(VS.80).aspx
Das sagt mir aber nichts, wie soll man sowas umsetzen, geht das vll. auch mit einer Dll??
bin auf Eure Tips gespannt ...........
liegt wahrscheinlich daran, dass das Programm nicht "denkt"
wenn Msgbox dann Msgbox und nicht Gui
Na wenn es eine eigene MsgBox ist kannst Du doch vor deren Aufruf den
Hotkey deaktivieren - oder habe ich das Problem falsch verstanden??
Select ... Case führt ja auch nur einen Befehl aus!!
Packe die If-Abfrage in eine Schleife von 1 bis 7, prüfe alle $test(X) und aktiviere
dann (wenn angeklickt) die Funktionen
Tip: Packe alles in Array´s - macht das Handling einfacher
.... was genau ist denn Dein Problem mit den Gänsefüßchen?
Schon richtig, mir geht es auch momentan nicht um ein konkretes Problem, ich
finde nur die Möglichkeit interessant, den Auswahlvorgang mit einer Aktualisierung
der Dialogbox zu kombinieren. Man muss ja nicht nach Dateien suchen - obwohl das
einfache Anklicken eines Ordners sicher schneller ist als das Scrollen durch den
jeweiligen Ordnerinhalt - man könnte ja auch andere Informationen anzeigen lassen
oder Bedingungen abfragen, je nach Anwendungsfall.
Es handelt sich um ein Script zur Verwaltung von SciTe. Wenn keine InI-Datei gefunden
wird, muss man den Pfad zu der properties-Datei suchen - mittels eines Auswahldialogs.
Offenbar wird während des Auswahlvorgangs abgefragt, ob in dem gerade gewählten
Ordner die gesuchte Datei vorhanden ist, denn wenn ich den "richtigen" Ordner anklicke
erscheint sofort der markierte Schriftzug, ohne dass die Dialogbox geschlossen wurde.
Man könnte den Suchvorgang mit Abfrage des aktuellen Markierungszustandes über eine
eigene GUI lösen, aber vielleicht gibts es ja auch einen Standardbefehl (das wäre meine Hoffnun)
(das angehängte Bild zeigt den Dialog zu Beginn)
vielleicht so:
Func _CreateFilm($Name)
$Path = "C:\!-TRP\"&$Name
$PathFiles = _FileListToArray($Path, "*.*", 1)
_ArraySort($PathFiles) ; damit es immer richtig sortiert ist
$Command = "copy /b "
MsgBox(0,"", $Command) ;nur zur Anzeige
$Command&=$PathFiles[UBound($PathFiles) - 1] ; immer letzten Eintrag nehmen -> vid.trp
MsgBox(0,"", $Command) ;nur zur Anzeige
For $i = 1 to UBound ($PathFiles) - 2 ; nur bis zum vorletzten Eintrag
MsgBox(0,"","For-Schleife") ;nur zur Anzeige
If $i = UBound ($PathFiles) - 1 Then
$Command&=$PathFiles[$i]&" "
MsgBox(0,"",$Command) ;nur zur Anzeige
Else
$Command&=$PathFiles[$i]&"+"
MsgBox(0,"",$Command) ;nur zur Anzeige
EndIf
Next
$Command &= "C:\!-TS\"&$Name&".ts" ;Pfad wo es hinsoll
MsgBox(0,"",$Command) ;nur zur Anzeige
Run($Command)
EndFunc
schönes Script, hatte nur Probleme mit der Hintergrundfarbe, deshalb bei mir jetzt so geändert ....
$sSource = _StringBetween($sData,'</head>','</body>')
[/autoit]ein paar Tips zu einer leicht verständliche Variante für Anfänger: (die Hilfe hilft!)
StringLen
For .... Next mit StringMid ( "string", start , 1)
in der Schleife IF/CASE - Abfrage mit Entscheidung was zu tun ist
fröhliches basteln!
1. prüf mal was $result (Zeile 18) zurückgibt (msgbox)
2. Installieren() = 1 kann nur funktionieren wenn Du auch "Return" verwendest (siehe Hilfe)
String RegExp sollte helfen.
(universal mittel bei so was)
SeuBo hat mal n Tut drüber gemacht. (Sufu)
mfg Ubuntu
aber für Alle, die nicht in RegExp einsteigen wollen (ist ja nicht wirklich selbsterklärend
Datei zeilenweise einlesen und prüfen, ob die Zeile leer ist -->> Anzahl Leerzeilen