Hallo Bitnugger,
Hallo Alpines,
vielen Dank für die Hilfe und die Tipps. Das Video läuft in Dauerschleife wie es soll.
Beiträge von hipfzwirgel
-
-
Hallo Alpines,
vielen Dank für deine Antwort.
Wie aber pausiere ich die Endlos-Schleife? Diese startet das Video-Objekt im Millisekundentakt neu, sodass das Video gar nicht abspielen kannUnd wäre es nicht besser statt Stopped den Status MediaEnded(8) zu nehmen?
-
Hallo Autoitler-Profis,
ich glaube ich sehe mal wieder den Wald vor lauter Bäumen nicht. Ich möchte in meiner GUI ein Video in einer Dauerschleife laufen lassen.
so habe ich angefangenC
Alles anzeigen#include <AutoItConstants.au3> #include <GUITab.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <File.au3> #include <Array.au3> #include <Word.au3> #include <WordConstants.au3> #include <Clipboard.au3> #include <Misc.au3> #include <MsgBoxConstants.au3> #include <ComboConstants.au3> #include <StaticConstants.au3> #include <ButtonConstants.au3> #include <IE.au3> #include <Process.au3> #include <WinAPIFiles.au3> #include <WinAPISys.au3> #include <WinAPI.au3> #include <date.au3> #include <String.au3> #include <StringConstants.au3> #include <MenuConstants.au3> #include <AVIConstants.au3> #include <ProgressConstants.au3> #include <EditConstants.au3> #Region ### START Koda GUI section ### Form=E:\Arbeit\Batchdateien\Scripte\BatteryLifeTest\Form1.kxf $Form1 = GUICreate("Test by HaSc (C) 2018", @DesktopWidth, @DesktopHeight, -1, -1, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_MAXIMIZE,$WS_TABSTOP)) GUICtrlSetResizing(-1, $GUI_DOCKAUTO) GUISetBkColor(0xFFFFFF) $Startbutton = GUICtrlCreateButton("Start", 264, 856, 249, 57) GUICtrlSetFont(-1, 12, 800, 0, "Arial") GUICtrlSetResizing(-1, $GUI_DOCKAUTO) $oWMP = ObjCreate("WMPLayer.ocx") ;mediaplayer-objekt erstellen -> für die Einstellungen: new-object -comobject Wmplayer.ocx | get-member in Powershell ausführen GUICtrlCreateObj($oWMP,768, 8, 1120, 921) ;objekt ins gui setzen und grösse angeben GUICtrlSetResizing(-1, $GUI_DOCKAUTO) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Startbutton Batterytest() EndSwitch WEnd Func Batterytest() While 1 $oWMP.URL = @ScriptDir & "\Wildlife.wmv" ;url/link zur avi/mp3/wma/wmv/... datei $oWMP.uiMode = "full" ;videos anzeigen lassen und andere funktionen ausblenden (auf "full" setzen für alles anzeigen) $oWMP.settings.mute = True $oWMP.controls.play() ;abspielen (Play Taste) WEnd EndFunc
Wie kann ich die While-Schleife pausieren lassen bis das Video abgelaufen ist? Versuche mit ProzessWaitClose schlugen fehl
Achja, das Video dauert 30 Sekunden aber Sleep(30000) finde ich keine gute Lösung. Das video ist 25MB groß und lässt sich nicht als Dateianhang hochladen
Den VideoStatus kann ich mit $oWMP.playstate abfragen(https://msdn.microsoft.com/en-us/library/…5(v=vs.85).aspx). Nur mit welchen Code/Befehl pausiere ich die Dauerschleife? -
Hallo Alpines,
ich hatte den Run Befehl zunächst so getestet:da öffnet er die konsole und zeigt die netsh-Ausgabe an. Das mit dem Working-dir hatte ich übergesehen. (der Wald und die vielen Bäume )
vielen lieben Dank für den Hinweis.@ No 1
den @SW_MINIMIZE-Flah habe ich nur zur Selbstkontrolle gesetzt (Dadurch konnte ich sehen, ob überhaupt ein Fenster auf ging).
Auch dir vielen lieben Dank für die Hilfe und die Tipps -
Hallo Chip,
danke für die Antwort. Der Run-Befehl an sich funzt aber. Er öffnet die Konsole und zeigt das Ergebnis von netsh an. Was ist daran denn falsch?
ich hatte den Code auch wie in der Hilfe von STDoutRead erläutert auch mit ProzesswaitClose getestet. Auch da gab es keine Ausgabe
ich bin jetzt noch mehr verwirrt... -
Hallo Autoitler-Profis,
ich habe folgenden testcode geschrieben:C#include <AutoItConstants.au3> #include <WindowsConstants.au3> #include <MsgBoxConstants.au3> $Status = Run(@ComSpec & " /k netsh interface show interface name=Ethernet", @SW_MINIMIZE, $STDOUT_CHILD) $sOutput = StdoutRead($Status) MSgbox(0, "Meldung netsh", $sOutput)
Kann mir bitte jemand den Fehler erklären, warum die Func StdoutRead nichts ausgibt, d.h. die Variable $sOutput leer ist.
(Der Run-Befehl öffnet ein Konsolenfenster mit der Ausgabe des Netsh-Befehls. Diese Ausgabe möchte ich in die Variable $sOutput speichern.)
Vielen Dank schon jetzt für eure Hilfe/Erklärungen
-
Zunächst danke an alle für die Antworten.
@ Oscar: einer der vielen Versuchr war
die htmlfiles als txtfiles(vorheriges umbenennen) anzusprechen. Ging aber auch nicht.
-
Hallo Profis,
ich versuche mir ein Script zu schreiben das mir in HTMl-Dateien die auf meinem Rechner liegen eine bestimmte Textstelle ändert. Konkret steht dort im FooterJetzt will ich die Jahreszahl ändern. Soweit bin ich gekommen:
C
Alles anzeigen#include <String.au3> #include <AutoItConstants.au3> #include <WindowsConstants.au3> #include <File.au3> #include <Array.au3> #include <Misc.au3> #include <MsgBoxConstants.au3> #include <INet.au3> #include <FileConstants.au3> #include <WinAPIFiles.au3> Local $sPath = "E:\HS-itconsulting\01_HTML\Bewerbung\Test" Local $value = InputBox("Jahreszahl", "Bitte geben sie die Jahreszahl ein:") Local $aFileList = _FileListToArray($sPath, "*.txt", 1) If @error = 1 Then Exit MsgBox(0, "", "Keine Ordner gefunden.") If @error = 4 Then Exit MsgBox(0, "", "Keine Dateien gefunden.") For $i = 1 To $aFileList[0] ???? Next
Alle versuche mit _stringbetween, _stringinsert, _inetgetsource scheiterten da eine http-Eingabe ja nicht existiert. Mit FileRead usw kam ich auch nicht weiter, da HTML-Dateien mit den FILE-Befehlen nicht händelbar zu sein scheinen. Sollte es nicht möglich sein eine lokale Html-Datei(E:\Homepage\Test.html) einzulesen und die genannte Textstelle zu ändern oder hat wer eine Idee?
-
Hallo Alpines,
deinen Code gerade in mein Proggi eingefügt. funzt tadellos. Mögest du die dicksten Eier und Größten Eier zu Ostern geschenkt bekommen -
Hallo Autoitprofis,
gibt es die Möglichkeit das "Anklicken", bzw. den Focus-erhalt eines Inputfeldes(um es ausfüllen zu können) abzufragen und dadurch eine Meldung in einem Editfenster zu löschen?Sinn soll sein, wenn der User das Inputfeld anklickt(oder auch durch TAB den Focus erteilt), dass dann die vorgehende Meldung, die im Editfeld steht, zu löschen.
Also in etwa so z.B.:
-
Thema wird nicht mehr weiterverfolgt. Danke für die Antworten.
-
Vielen lieben dank für die Antworten bis hierher. Ich glaube ich habe mich etwas missverständlich ausgedrückt. Mein Admin-Tool ist zur Exe-Datei kompiliert. Dennoch möchte ich aus genau
den Gründen wie von Alpines beschrieben, die im Programm hinterlegten Benutzerangaben durch Variablen austauschen dergestalt, dass ich mittels einer Eingabemaske die Logindaten eingebe, diese sollen dann verschlüsselt
i-wo gespeichert sein, dass die Exe-Datei bei Bedarf darauf zugreifen kann. Die Maske, Eingabe der Werte wie Benutzername und PWD zu programmieren ist kein Problem, jedoch habe ich keine Ahnung wie ich die Werte verschlüsseln kann. Also im Prinzip der gleiche Vorgang wie bei der Vergabe von Logindaten für Windows(Eingabe BenutzerID, Eingabe PWD, Sicherheitsabfrage PWD -> verschlüsseln -> Abspeichern). -
Hallo an alle AutoIt'ler-Profis,
ich verwende in meinem selbst geschriebenem Admin-Tool(Automatisierung um häufig verwendete Ressourcen z.B. per Mausklick zu öffnen) verschiedene Webseiten oder Datenbanken zu öffnen einen zusätzlichen User.
Dessen Daten würde ich gerne über eine Eingabemaske(Vgl. Windows-Pwd festlegen) Eingeben und i-wie verschlüsselt speichern, damit ich dieses Daten im Script dann immer verwenden kann.Code-Beispiel zum Öffnen der SCCM-Db:
CodeCase "SCCM-DEV" Runas("Benutzer", "Passwort", 1, "C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe")
Die Benutzer-ID und das Passwort will ich also durch Variablen ersetzen, die eben vershlüsselt z.B. in einer Text o. INI-Datei gespeichert sind. Könnte mir jemand sagen welche Funktionen ich dazu verwenden kann(Verschlüsselung), etc.
-
Hallo AutoIT'ler,
ich bin überwältigt ob der großen Resonanz. Vielen lieben Dank an alle. Ich habe es jetzt so gelöst:Ein einfaches Sleep(500) vor dem Showflag der Form. Dadurch wird die Progressbar "gefüllt" und erst dann die Form angezeigt.
Manchmal können Lösungen ganz einfach sein aber man sieht den Wald vor lauter Bäumen nicht. -
Hallo AutoIT'ler,
hat jemand eine Idee wie ich folgenden Designfehler ändern kannCode;Global $Prozent = 100 $Progress1 = GUICtrlCreateProgress(8, 224, 513, 25) ;GUICtrlSetData($Progress1, $Prozent)
Ich habe mit KODA eine Progressbar(für einen Countdown) erstellt. Prop dabei ist, dass die Progressbar beim Starten der GUI leer ist. Wenn der Countdown beginnt(Buttonklick) füllt sie sich erst und leert sich dann.
Ich möchte aber dass die Progressbar beim Starten der Gui bereits 100% Füllung anzeigt. Mit oben (auskommentiertem) Code habe ich es versucht aber auch da wird beim Starten der GUI das Füllen angezeigt. Sieht echt blöd aus. Gibt es eine Möglichkeit eine gefüllte Progressbar beim Programmstart anzuzeigen, die sich dann beim Countdown leert?p.s.: Ich will keine Progressbar die sich im Laufe des Countdown füllt
-
Hallo Bugfix,
viiiiiieeeeeelllllllleeeeeennnnn Dank für das Scriptbeispiel. Ich habe es gerade für meine Proggi umgesetzt(es hat drei Comboboxen). Es funzt super.
Möge dir immer die Sonne scheinen und deine Hilfe mit reichlich Kindersegen und immerwährender Gesundheit vergolten werden -
Hallo Raupi,
danke fürs löschen. Der Eintrag war sicherlich nur ein Versehen.
-
Hallo AutoIt-Profis,
ich benutze eine Combobox um Programme die ich oft benötige, schnell zu starten. Dabei kommt es häufig vor, dass ich das zuvor ausgewählte Proggi nochmals starten muss.
Beispiel: Ich klappe die Kombobox auf und wähle "Editor aus". Dieser startet. Ich bearbeite die Txt-Datei und schließe wenn fertig den Editor. Später benötige ich den Editor wieder. Jetzt würde ich gerne
den immer noch ausgewählten Eintrag anklicken können um das Programm erneut auszuführen. Normal muss man ja den Eintrag erneut auswählen. Wie kann man die Einträge "anklickbar" machen? -
Hallo misterspeed,
zunächst danke für die Antwort. Es ist aber viel einfacher. Das Browserfenster soll im anderen User-kontext gestartet werden,
da das Citrix-Fenster Single-Sign-On hat. Runas usw. ist mir bekannt. Ich wollte nur wissen, ob es diese Funktionalität auch für die Objektorientierte Lösung gibt.
Also quasi -
Hallo Gemeinde,
mit folgendem Code erzeuge ich ein Browserfenster im IE(zwingend):Durch Single-Sign-on öffnet sich die Seite mit den Logindaten des gerade angemeldeten Users. Gibt es die Möglichkeit der Func _IECreate() andere Credentials mitzugeben?
Ich möchte einfach die Webseite mit vordefinierten Credentials öffnen, da ich mein "Verwaltungsproggi" auch als Testuser öffne, der aber keine Citrix-Berechtigung hat.