Ich setze das Thema auf "grün" - und Danke Dir für Deine gute Lösung
Beiträge von AutoMit
-
-
Einfach ein Label erzeugen
Vielen Dank Alpines, dass sieht sehr gut aus
Gibt es noch einen Trick, um den (bei mir blauen) Rand des Fensters ebenfalls auf schwarz zu setzen?
-
Hast Du dafür ein Beispielscript? Ich habe lange gesucht und obiges Script gefunden, was meinem Ziel sehr nahe kommt. Weiter bin ich alleine leider nicht gekommen.
Wie kann ich den Rahmen auf schwarz setzen - nur für die hier genannten Fenster?
-
Guten Abend,
mit folgendem Code erhalte ich ein rahmenloses schwarzes Fenster, welches ich mit der Maus verschieben kann.
Wie kann ich den Quellcode so verändern, dass ich zusätzlich die Fenstergröße mit der Maus verändern kann?
Sollte das nicht möglich sein - was wäre ein Workaraound?
Mein Ziel ist es, am Bildschirm unterschiedliche Bereiche in unterschiedlicher Größe mit einem schwarzen rahmenlosen Fenster abzudecken. Die Größe der Fläche ist unterschiedlich.
C#include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> $Form_01 = GUICreate("GUI", 400, 400, -1, -1, BitOR($WS_SYSMENU,$WS_POPUP), $WS_EX_CONTROLPARENT) GUISetBkColor(0x000000,$Form_01) GUISetState() While GUIGetMsg() <> $GUI_EVENT_CLOSE WEnd
allen hier ein super Jahr 2018
-
Hallo misterspeed,
"Warum spielt es eine Rolle wo die Verknüpfung nun liegt?"
Wenn sie im Scriptverzeichnis liegen würde, kann ich sie mit AutoIt finden. Da sie aber woanders liegt, weiß ich nicht, wie ich den Pfad ermittle.
"Was machst du wenn der Anwender garkeine Verknüpfung verwendet um die au3 auszuführen?"
Ich bin der Anwender und ich nutze auf jeden Fall die Verknüpfung.
Verknüpfungen liegen in x-beliebigen Ordnern und in denen liegen viele Verknüpfungen.
Verknüpfungen werden aus Programmen gestartet, die Verknüpfungen speichern und starten können.
Und ich brauche die Beschreibung ( = Kommentar) aus der jeweiligen Verknüpfung.
Jene kann ich aber nur auslesen, wenn ich den Pfad zur Verknüpfung habe.
"Wenn du das unbedingt haben musst, dann pass die zu überwachenden Verknüpfungen halt an und pack als zweiten Parameter noch den Pfad zur Verknüpfung selbst mit rein."
Auch das geht leider nicht, weil meine Parameter länger sind, als es die Zeichenkettelänge einer Verknüpfung zulässt. Daher liegen diese Informationen im Kommentar der Verknüpfung. Diese kann ich mit AutoIt auslesen. Aber nur, wenn ich weiß, wo die Verknüpfung liegt.
Hallo Peter S. Taler,
Ich glaube auch nicht, dass es so einfach mit AutoIt-Boardmitteln möglich ist.
Vielleicht weiß jemand von Euch, wie ich mit Windows API Mitteln den Pfad der Verknüpfung auslesen kann, von der aus die au3 Datei ausgeführt wurde.
Es wird gehen - und es ist eine harte Nuss, die nur jene knacken können, die tiefer in der Windows-Materie zu Hause sind.
Etwas vergleichbares gab es im Thread
Per WMI die Eltern-PID holen
Wie wurde Programm gestartet? In cmd.exe (DOS-Box) oder Verknüpfung / Doppelklick / Explorer
... allerdings ist das Ergebnis hier nicht die Verknüpfung, sondern das Eltern-Programm, z.B. wenn ich die Verknüpfung heraus aus Total Commander gestartet habe, dann erhalte ich als Ergebnis:
---------------------------
---------------------------
Der Parent-Prozess heißt: TOTALCMD64.EXE.
Er hat die PID: 6532.
---------------------------
OK
---------------------------
Wenn sowas möglich ist, dann bietet Windows sicherlich über irgendein Mittel auch den Zugriff auf die zugrundeliegende Verknüpfung an.Nur wie gesagt - das wird ähnlich kompliziert sein, wie eben gezeigter Thread.
Ich würde mich freuen, wenn wir hier eine Lösung finden.
-
Guten Abend,
ich habe für diverse au3 Dateien eine Verknüpfung nach folgendem Muster erstellt:
"c:\Autoit\AutoIt3_x64.exe" "d:\test\test.au3"
Ich starte das Script über die Verknüpfung.
Im Script steht
MsgBox ( 262144 , "Pfad" , "Pfad zur Verknüpfung" )
Wie kann ich mit AutoIt den "Pfad zur Verknüpfung" (Pfad und Name der Verknüpfung) ermitteln, von der Verknüpfung, von der das aktuell ausgeführte Script gestartet wurde?
Beispiel
F:\test mal an\weihnachten.lnk
und
weihnachten
Die Verknüpfung liegt nicht dort, wo sich das Script befindet.
Vielen Dank
-
wird immer leicht flackern... Wenn dich das stört
Das ist kein Problem.
===========================
Zurück zu den Basics - Neustart
===========================
Da ich merke, dass das ganze zu komplex ist, versuche ich den ersten Schritt zu gehen.
Schritt (1)
Habt Ihr ein Beispiel, wie folgendes realisieren kann?
AutoIt - eine Oberfläche, die per Drag and Drop aus dem Dateimanager Bilder enthält, die in den Bilderboxen (image) angezeigt werden.
Die Bilderboxen sollen (wenn sie leer sind) einen Rahmen haben (sonst sieht man nicht, wohin das Bild gezogen werden kann).
Die Bilderboxen sollen dynamisch als Array erzeugt werden.
Beispiel - 3 Reihen mit einer unterschiedlichen Anzahl von Bildern:
1. Reihe = 2 Bilderboxen nebeneinander
2. Reihe = 3 Bilderboxen nebeneinander
3. Reihe = 1 Bilderbox
Die Breite der Bilder ergibt sich aus der Breite der Reihe abzüglich Abstand.
Die Höhe der Bilder ergibt sich aus der Breite geteilt durch 1,33.
Wenn auf eine Bilderbox geklickt wird, wird das darin enthaltene Bild wieder entfernt. Soweit die Theorie.
Bei meinem Script scheitere ich bereits an der Drag / Drop Funktion - von der dynamischen Erzeugung der Bilderboxen-Reihen ganz zu schweigen.
C
Alles anzeigenOpt("GUIOnEventMode", 1) ; braucht GUISetOnEvent($GUI_EVENT_DROPPED, "_Funktion_Drag_and_Drop_", $Form_01) #include <StaticConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Include <GuiButton.au3> $Form_01 = GUICreate("Drag and Drop",350,391,-1,-1,-1,-1) GUISetBkColor(0x0080C0,$Form_01) GUISetOnEvent($GUI_EVENT_CLOSE, "_Funktion_Ende_", $Form_01) GUISetOnEvent($GUI_EVENT_DROPPED, "_Funktion_Drag_and_Drop_", $Form_01) $bild_01 = GUICtrlCreatePic("",30,30,65,60,-1,-1) GUICtrlSetState(-1,BitOr($GUI_SHOW,$GUI_ENABLE,$GUI_DROPACCEPTED)) GUICtrlSetTip(-1,"Bild 1") $bild_02 = GUICtrlCreatePic("",150,60,153,141,-1,-1) GUICtrlSetState(-1,BitOr($GUI_SHOW,$GUI_ENABLE,$GUI_DROPACCEPTED)) GUICtrlSetTip(-1,"Bild 2") $bild_03 = GUICtrlCreatePic("",50,240,210,136,-1,-1) GUICtrlSetState(-1,BitOr($GUI_SHOW,$GUI_ENABLE,$GUI_DROPACCEPTED)) GUICtrlSetTip(-1,"Bild 3") GUISetState() While 1 Sleep (10) ; Pause - 10 Wend Func _Funktion_Drag_and_Drop_() ; Fehler - wird nicht ausgelöst - keine Ahnung, warum nicht ConsoleWrite (@ScriptLineNumber & @TAB & "Funktion = " & "auf Drop reagieren" & @CRLF) EndFunc ;==> ;==> auf Drop reagieren Func _Funktion_Ende_() ; Ende ConsoleWrite (@ScriptLineNumber & @TAB & "Funktion = " & "Ende" & @CRLF) Exit EndFunc ;==> ;==> Ende
-
Vielen Dank Euch 3 - nach meinem grünen Harken sind doch noch Antworten gekommen, die ich erst heute gesehen habe. Sorry ...
Ich würde kein echtes Drag&Drop Verhalten probieren. Ein Bild ziehen (es bleibt also sichtbar, die Bewegung ist live) scheint mir etwas zu aufwändig.
Hallo BugFix, ist das Beispiel von "NO1 :-)" echtes Drag & Drop?
Ist wohl noch ein bisschen zusätzliche Arbeit
Hallo GtaSpider, ich versuche gerade den Code zu verstehen
man kann die Bilder ganz einfach verschieben.
Hallo NO1 :-), vielen Dank - das sieht nach einem Anfang aus. Klasse.
Das Thema ist wirklich komplexer, als ich zu Beginn dachte. Ich versuche mich, weiter einzuarbeiten.
Nächsten Schritte - es muss ein Raster erzeugt werden, so dass die verschobenen Bilder in einem Raster (siehe Screenshot Post 1) liegen.
Und ich muss dann die Dateinamen im Raster auslesen, weil ich die verschobenen Bilder nach der neuen Reihenfolge umbenennen möchte.
-
Das ü ist eigentlich ein HTML-Entity ü welches auch ersichtlich wird, wenn du
den Quellcode der Seite anschaust (bevor die Seite gerendert wird). Wenn du also das ü in deinem Code durch das Entity ersetzt sollte es klappen.
Habe es ausprobiert - funktioniert leider nicht.
Im Quelltext der Seite steht:
Code<a id="atoc_next" href="/news/vor-wichtiger-abstimmung-eu-studie-lehnt-leistungsschutzrecht-ab-1710-130604-2.html">Gefahr für Verlinkungen</a>
Wie zu sehen ist, steht dort "für" mit ü als Umlaut.
... muss aber dennoch am Umlaut liegen, siehe untenstehende Aufrufe, die nicht funktionieren bzw. funktionieren - suche daher weiter eine Lösung
-
Ist die FF.au3 ohne MozRepl nicht tot? Benutzt du eine alte Version vom Firefox?
MozRepl ist bei mir aktiviert und funktioniert 1a.
Daher hatte ich oben geschrieben, dass ich auf der Testseite von ff.au3 auch die Beispiele (Klicken etc.) erfolgreich ausführen konnte. Nur u.a. bei obiger Golem-Seite schaffe ich es nicht, z.B. den Drucken-Link (Form) mit AutoIt - FF.au3 anzusteuern.
-
Vielen Dank für den Start.
Den Internet-Explorer nutze ich gar nicht. Ausschließlich FireFox (in Zusammenhang mit AutoIt).
eine wäre die Form ausfindlich zu machen und sie zu submitten
Deswegen habe ich untenstehendes versucht, aber das scheint noch nicht zu reichen:
_FFFormSubmit ( "print" )_FFFormSubmit ( "service" )
_FFFormSubmit ( "Drucken" )DOM-Explorer
Meinst Du damit das folgende FireFox-Addon
DOM Inspector
https://addons.mozilla.org/de/firefox/add…-inspector-6622
Ansonsten sagt mir der Dom-Explorer leider nichts.
-
Hallo,
ich arbeite mich in ff.au3 ein und auf der Testseite von Thorsten Willert funktionieren die Beispiele auch, die ich in AutoIt getestet habe.
Bei ausgewählten URLs komme ich nicht weiter ... Beispiel Golem
https://www.golem.de/news/vor-wicht…710-130604.html
Ich versuche
(a)
auf den Link (Form) "Drucken" in der rechten Seitenleiste zu klicken, kein Erfolg - wie muss das geschrieben werden?
AutoIt
Alles anzeigen<form class="gservprg" method="POST" action="/sonstiges/service/index.php" target="_blank"> <input name="service" value="print" type="hidden"> <input name="a" value="130604" type="hidden"> <input value="Drucken" type="submit"> </form> Meine Versuche (Auszug) _FFFormSubmit ( "print" ) _FFFormSubmit ( "service" ) _FFLinkClick ( "Drucken" , "text")
(b)
Golem - auf den Link "Gefahr für Verlinkungen" klicke ich mit
_FFLinkClick ( "Gefahr für Verlinkungen" , "text")
Geht nicht - wahrscheinlich wegen dem Umlaut in "für", denn folgendes geht.
_FFLinkClick ( "Verlinkungen" , "text")
Wie schreibt man den Befehl bei Umlauten im Text (ich möchte die komplette Bezeichnung verwenden, um Verwechslungen auszuschließen)?
(c)
Gibt es außer die FireFox-Funktion "Element untersuchen" noch Möglichkeiten oder ein AutoIt-Script, um die relevanten Daten für ein Element auf der Internetseite auszulesen?
z.B. sowas wie "AutoIt v3 Window Info" - nur eben für Elemente auf einer Internetseite?
(d)
Wenn man mehrere Firefox-Profile hat, muss man wahrscheinlich in MozRepl einen unterschiedlichen Port eingeben, damit die unterschiedlichen - parallel laufenden - FireFox Instanzen auseinander gehalten werden können.
Wie kann ich mit AutoIt abfragen, welches Profil in einer FireFox-Instanz geöffnet ist?
Ich aktiviere ein FireFox-Fenster (winacivate), prüfe, welches Profil geladen ist (nur wie?).
Mein Gedanke - wenn ich das Profil, welches in FireFox geladen ist, mit AutoIt abgefragt habe, weiß ich, welchen MozRepl-Port ich ansprechen muss, um ff.au3 zu verwenden.
Vielen Dank
-
-
GUICtrlSetState($aClock3[$iIndex], $GUI_HIDE)
Die Zeile gab einen Fehler - ich glaube richtig ist (so funktioniert es hier):
GUICtrlSetState($aClock1[$iIndex], $GUI_HIDE)
Ein interessanter Ansatz ... Fensterbreite reduziere ich noch, dann geht das so.
Problem gelöst Vielen Dank Oscar.
-
hier ein Beispiel zu deiner ersten Frage:
Vielen Dank - die Lösung scheint die Klammer um das Suchmuster zu sein.
( ... )
Eine Gruppe speichert auch den Text ab, der mit dem Set übereinstimmt, um ihn bei einem Rückverweis und in dem Rückgabearray der Funktion zu benutzen, abhängig von dem Flag-Parameter.
( laut Hilfe ... also wird bei einer regulären Suche, wenn etwas in Klammern gefasst wird, nur dieser String zurückgegeben? )
Floops ... das ist eine interessante Anregung ... wieder was gelernt.
Vielen Dank Euch zwei
und hier ein Beispiel zu deiner zweiten Frage:
Wow - ich bin beeindruckt, wie kurz sich das schreiben lässt.
-
Vielen Dank Oscar und Simpel :-)
Wie kann ich nur Stunde und Minute(n) anzeigen? (ohne Sekunden ... das Hochzählen der Sekunden stört ähnlich wie das Blinken der Punkte)
Ich glaube, dass ist (noch) nicht implementiert, da laut Funktion:
$sTime ist ein String im Format: "HH:MM:SS", "HHMMSS" oder "YYYY/MM/DD HH:MM:SS"
Nutze ich:
_GUICtrlClock_SetTime( $aClock1 , @HOUR & ":" & @MIN , True ) ; Clock-Array, Date/Time (Optional = Systemtime) - ohne blinkende Punkte - nur Stunde und Minute
... dann wird nach den Minuten noch ein Doppelpunkt angezeigt, also z.B. " 16:22: "
Das wird wahrscheinlich zu aufwendig sein, da dann auch die Fenstergröße neu berechnet werden muss ...
-
Hallo,
(1)
reguläre Suche
$clp_gesprochene_Form = "Omega.6.Fettsäuren und 12 Äpfel sowie .57946. Bananen und -33- Kiwis"
$Zahl = StringRegExp ( $clp_gesprochene_Form , "\ \d+\ " , 3 ) ; Findet Ziffer (0-9) umschlossen von Leerzeichen -> ".6." und ".57946."
$Zahl = StringRegExp ( $clp_gesprochene_Form , "\ \d+\ " , 3 ) ; Findet Ziffer (0-9) umschlossen von Leerzeichen -> "12"
Wie kann ich das umschreiben, damit nach "Leerzeichen beliebige Zahl Leerzeichen" bzw. "Punkt beliebige Zahl Punkt" gesucht wird, aber nur der Zahlenwert ohne Leerzeichen und Punkte zurück gegeben wird?
Muss ich dazu Stringreplace verwenden oder kann ich das gleich in der regulären Suche so schreiben, dass nur die Ziffern im Ergebnis ausgegeben werden?
(2)
Im Thread (Link)
fand ich eine Möglickeit, um "Zahlen in Worte umwandeln".
Der Beitrag ist von 2013 - gibt es eine aktuellere Funktion - ggf. ist so eine Funktionalität jetzt bereits in AutoIt integriert?
Ich möchte Zahlen in Worte umwandeln, allerdings jede Ziffer für sich:
Falls es keine Funktion dafür gibt, kann jemand das Script aus obigem Beispiel so umschreiben, dass eine Zahl in einzelne Ziffern = Worte zerlegt wird?
Aus 57946 soll "fünf sieben neun vier sechs" werden.
Die Lösung wird wohl in obigem Script bereits enthalten sein, nur gelingt es mir nicht, die unnötigen Zeilen zu löschen bzw. das Script so umzuschreiben.
Vielen Dank
-
Wow - und vielen Dank. Ich versuche, hinter die Codezeilen von Oscar zu blicken und melde mich dann nochmal.
-
PS:
so schaffe ich es, dass nur die blinkenden Punkte da sind ... schmunzel
_GUICtrlClock_SetTime( $aClock1 , True )
-
Vielen Dank Oscar.
Hat die Funktion nicht nur 2 Parameter?
Func _GUICtrlClock_SetTime(ByRef $aidClock, $sTime = Default)
Ich habe im Script folgendes versucht, aber das ging nicht:
_GUICtrlClock_SetTime( $aClock1 , "" , True ) ; Clock-Array, Date/Time (Optional = Systemtime)
_GUICtrlClock_SetTime( $aClock1 , , True ) ; Clock-Array, Date/Time (Optional = Systemtime)