Um erstmal dein Hotkey Problem zu lösen, würde ich es so umsetzen.
Beiträge von WhiteHorse
-
-
MojoeB danke dir
Ich muss erstmal sehen wie ich das alles umsetze da ich über die vlc Commandozeile noch nie gearbeitet habe, wusste garnicht das vlc sowas hat.
danke für deine umsetzung
-
Aktuell arbeite ich nur mit C++
und wie gesagt kann auch ein anderer Player sein muss nicht VLC sein, habe nur gesehen das es die Voraussetzung erfüllt die ich erwarte / benötige
vom Design wäre AutoIt nicht so schlimm, mal schauen was es sich so machen lässt
Gruß Whitey
-
Hi WhiteHorse ,
muss es wirklich der VLC Player sein? Was möchtest du ganz genau tun und erreichen?
Wenn es nur darum gehen sollte, ein Video zu einer bestimmten Zeit abzuspielen, dann kannst du es bspw. auch per Browser machen.
💡 Möglicher Ablauf mit AutoIt:- Trigger deiner Wahl (bestimmte Zeit, HotKey ...)
- Browser mit Video-Datei als Parameter starten (ShellExecute/Run ... @ComSpec)
- kurz auf Browser warten (WinWait etc.)
- F11 für den Vollbild-Modus
Wenn du Steuerelemente haben willst bzw. brauchst, welche du ebenfalls mit AutoIt steuern möchtest, dann wird es etwas komplizierter, allerdings nicht viel.
Dann rate ich, bei diesem skizzierten Szenario, dann doch zusätzlich Javascript mit einzusetzen (oder einfach nur ein paar HTML5 TAGs), fertig.
Also je nachdem was dein Ziel ist, kannst du mit mehreren Varianten dahin gelangen. Wenn es unbedingt VLC Player sein muss, dann wäre interessant warum 😅 ?
Viele Grüße
SvenHey, SOLVE-SMART
Eigentlich möchte ich eine Videothek für mich basteln, ich mach gerne Videos, Let's Plays und möchte mir da gerne was aufbauen. Wichtig ist auch, wenn ein Video beendet wurde und es war noch nicht zu Ende, dass es sich auch die Videoposition speichert und beim nächsten mal dort weiter abspielt, wo das Video geschlossen wurde. Was auch ein weiterer Punkt ist, wenn das eine Video zu Ende ist, dass das nächste gestartet wird (wie eine Playlist)
mit VLC wusste ich, dass die Position sich gemerkt wird und wegen einer Playlist hätte ich mal schauen müssen.
Aber wenn du mir da was empfehlen kannst, dann bin ich gerne offen für Vorschläge
Gruß Whitey -
Keine Ahnung, ob die UDF noch funktioniert, ich kenn sie nicht. VLC ist was interfaces angeht aber eig. recht konsistent und aendert nicht so viel, wenns also nicht grad Fenster emulation ist, funktioniert es vmtl. noch.
Bei deinem Script solltest du direkt ne Fehlermeldung bekommen, weil $item nicht existiert. Ausserdem solltest du $vlc auch mal was zuweisen, wenn du es spaeter verwenden willst (z.B. den Rueckgabewert von _GUICtrlVLC_Create???).
Vielleicht solltest du dir nochmal die Basics vom Programmieren anschauen, also wie Variablen funktionieren,...
Ich habe vieles schon auf anderen Seiten probiert und es kommt bei einigen Fehlermeldungen.
Bei einigen kam dann bloß eine weiße Seite mit einem X in der Linken ecke, aber abgespielt wurde nichts, deswegen frage ich ob noch jemand damit arbeitet oder ob es einfach zu alt ist und einfach nicht mehr benutzt wird, ansonsten suche ich mir was anderes.
Ich weiß $item hat kein genaues Ziel, ich habe es einfach aus der VLC.au3 herauskopiert. Es ist jetzt einfach nur ein billiges Beispiel gewesen, ich wollte einfach nur ein kleinen anfang haben wie überhaupt der Anfang mit dem VLC.au3 gemacht wird. -
Hallo, ich möchte gerne ein Video mit dem VLC Player über Autoit abspielen.
Meine Frage ist, wie spreche ich das an?
VLC GUI Vorlage erstellen
VLC Video mit Pfad angeben
VLC Video Play
Einige berichte die ich gefunden habe über Google sind so alt, dass sie überhaupt nicht mehr funktionieren. Vielleicht hat jemand schonmal damit was gebastelt und kann mir weiterhelfen und kann mir sagen wie ich das angehen muss. Ich habe auch ein kleines Beispiel, vielleicht kann mir einer anhand des Beispiels geholfen werden.
So habe ich erstmal angefangen.
-
am Besten beide installieren für 32- und 64- bit (Paket 2015 - 2022)
Jetzt klappt es, Top danke dir
Ich verlinke hier noch die zweite Datei, die mir fehlte, da dieses sehr häufig vorkommt das beide fehlen.
Damit die anderen, wenn mal wieder so ein Fall ist auch Bescheid wissen.
vcruntime140.dll ist meist auch eine Datei die bei einigen fehlt, ich habe sie hier von dieser https://de.dll-files.com/vcruntime140.dll.html Seite heruntergeladen, zu beachten ist das es hier auch 32 und 64 bit gibt.
Diese Datei wird einfach in bei dem Ordner system32 abgelegt.
Ihr braucht nur Windows taste und R drücken und dort system32 eingeben und in diesen Ordner muss die Datei abgelegt werden Fertig
viel spass.
Gruß Whitey -
Es kann sein das deine kopierte Datei eine Datei ist, die zum falschen Bit-System (32/64) gehört.
Das solltest du nochmal prüfen. Auch haben diese dann unterschiedliche Speicherorte.- C:\Windows\SysWOW64\
- C:\Windows\System32\
Aber in der Regel ist eine fehlende dll nur ein Symptom von anderen Problem(en). Daher halte ich nicht viel davon plump die dll Dateien zu kopieren.
Hast du das richtige Visual C++ runter geladen und installiert?
Beide sind 64 bit das habe ich schon beachtet
Ich geh mal davon aus das ich die richtige Visual installiert habe die seite wurde mir angeboten du kannst mir aber nochmal eine schicken und ich installiere diese auch vielleicht klappt es dann
-
Hallo, ich habe ein mini pc bekommen und wollte den für die Autofahrt benutzen habe Win 10 drauf gespielt und und und
Problem ist ich habe autoit darauf installiert
Da kam immer die meldung das 2 dll Dateien fehlten wenn ich autoit öffnen wollte, eine davon habe ich schon behoben nur leider komme ich bei der meldung nicht weiter msvcp140.dll fehlt.
Ich habe die von meinem Hauptcomputer kopiert und in das system32 auf dem mini pc abgelegt, nun bekomme ich eine neue Meldung (0x000007b).
Microsoft visual habe ich auch schon installiert leider kommt immer noch die meldung
SciTE ist auch installiert
Vielleicht hatte jemand von Euch auch schonmal den Fall und hat es irgendwie hin bekommen.
Gruß Whitey
-
Empfehlen kann ich WuMgr: WuMgr auf Github/download. Damit lassen sich nicht nur die Updates blockieren (dauerhaft, zumindest unter Win10 getestet), sondern auch trotzdem selektiv einzelne Updates durchführen.
MfG
Ich danke dir, Ich war eigentlich immer für Win 7, aber da Steam bald nicht mehr unter Win 7 läuft, bin ich jetzt ca. 1 Jahr bei Win 10 und die Updates nerven mich massiv, da sie mir mehr Probleme bereiten als nutzen.
Ich besitze ein Bomben Antivirenprogramm und das reicht mir zu.
-
hey, ich hab noch ein kleines Problem gefunden in dem Code, das ist mir jetzt leider erst aufgefallen
und zwar, wenn ich den Namen suche zb. Test Moin und ich den in der liste aufrufe, dann führt er die Funktion Func _msgbox($iIndex) aus, er soll aber dennoch die Func _testmoin () abrufen sie gehört ja schließlich zu ihr und nicht zu Func _msgbox($iIndex) wenn ich nicht in die Suche schreibe und gleich auf den Namen klicke, dann führt er auch die richtige Funktion auf.
Wäre dir sehr dankbar, wenn du mir das noch ggf. fixen kannst
Gruß Whitey
-
Hi,
so würde ich das umsetzen.
Ein Array mit allen Actions (2D mit Name zum anklicken, Function zum Aufrufen und ein Bool, ob der Index übergeben werden soll.
Wenn man sich für WM_COMMAND Messages registriert, wird die Methode unten aufgerufen, wenn mit einem Control interagiert wird; Hier das anklicken in der Listbox und das Tippen im Inputfeld.
Die Funktionen _ActionListSelect($iIndex=Default) und _FilterList($sSearch="") werden dann aufgerufen. Sie sind aber gleichzeitig auch so gestaltet, dass sie auch manuell aufgerufen werden können.
Das mach ich z.B. um am Anfang die Liste zu füllen.
AutoIt
Alles anzeigen#include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <ListBoxConstants.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <WinAPI.au3> Global $iWidth = 800, $iHeight = 600, $iSpace = 10, $iCtrlHeight = 25 Global $arActions = [["Msgbox 1", "_msgbox", True], ["Msgbox 2", "_msgbox", True], ["Msgbox 3", "_msgbox", True], _ ["Msgbox 4", "_msgbox", True], ["Msgbox 5", "_msgbox", True], ["Msgbox 6", "_msgbox", True], _ ["Msgbox 7", "_msgbox", True], ["Msgbox 8", "_msgbox", True], ["Test Moin", "_testmoin", False], _ ["Just do", "_justdo"]] $hGui = GUICreate("Search test", $iWidth, $iHeight) GUISetFont(10, 800, 0, "MS Sans Serif") GUICtrlCreateLabel("Suche: ", $iSpace, $iSpace+5, 45, $iCtrlHeight-5) $iInputSearch = GUICtrlCreateInput("", 45+$iSpace*2, $iSpace, ($iWidth-45)-3*$iSpace, $iCtrlHeight) $hInputSearch = GUICtrlGetHandle($iInputSearch) GUICtrlSetCursor (-1, 5) $iListActions = GUICtrlCreateList("", $iSpace, $iSpace*2+$iCtrlHeight, $iWidth-2*$iSpace, $iHeight-3*$iSpace-$iCtrlHeight, BitOR($WS_BORDER, $WS_VSCROLL)) $hListActions = GUICtrlGetHandle($iListActions) _FilterList() GUICtrlSetCursor (-1, 0) GUIRegisterMsg($WM_COMMAND, "WM_COMMAND") GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func _msgbox($iIndex) MsgBox(64, "Info", $arActions[$iIndex][0]&" >> At list index "&$iIndex&" was pressed.") EndFunc Func _testmoin() MsgBox(64, "Info", "Test Moin") EndFunc Func _justdo() MsgBox(64, "Info", "Just Do") EndFunc ; Error: 1 -> Illegal index argument ; Error: 2 -> No item selected ; Error: 3 -> Index not specified in action array Func _ActionListSelect($iIndex=Default) If $iIndex<>Default Then ; Check if the index is a number and in range If Not IsInt($iIndex) Or $iIndex<0 Or $iIndex>=_GUICtrlListBox_GetCount($iListActions) Then Return SetError(1, 0, -1) _GUICtrlListBox_SetCurSel($iListActions, $iIndex) EndIf $iIndex = _GUICtrlListBox_GetCurSel($iListActions) If $iIndex<0 Then Return SetError(2, 0, -1) _GUICtrlListBox_SetCurSel($iListActions, -1) If Not $iIndex<UBound($arActions) Then SetError(3, 0, -1) If $arActions[$iIndex][1]<>"" Then If $arActions[$iIndex][2]<>"" Or $arActions[$iIndex][2] Then Call($arActions[$iIndex][1], $iIndex) Else Call($arActions[$iIndex][1]) EndIf EndIf EndFunc Func _FilterList($sSearch="") _GUICtrlListBox_BeginUpdate($iListActions) _GUICtrlListBox_ResetContent($iListActions) If $sSearch="" Then For $i=0 To UBound($arActions)-1 Step 1 _GUICtrlListBox_AddString($iListActions, $arActions[$i][0]) Next Else For $i=0 To UBound($arActions)-1 Step 1 If StringInStr($arActions[$i][0], $sSearch, 0) Then _GUICtrlListBox_AddString($iListActions, $arActions[$i][0]) Next EndIf _GUICtrlListBox_EndUpdate($iListActions) EndFunc Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam) Local $iIDFrom = _WinAPI_LoWord($iwParam), $iCode = _WinAPI_HiWord($iwParam) Switch $ilParam Case $hInputSearch Switch $iCode Case $EN_CHANGE _FilterList(GUICtrlRead($iInputSearch)) EndSwitch Case $hListActions If $iCode=$LBS_NOTIFY Then _ActionListSelect() If @error Then Switch @error ; 1 cannot happen; no index provided Case 2 MsgBox(16, "Error", "No Action was selected!") Case 3 MsgBox(16, "Error", "There is no Action for the index of the selected item!") EndSwitch EndIf EndIf EndSwitch Return $GUI_RUNDEFMSG EndFunc
Ich hoffe, das hilft dir weiter.
Mfg, Kanashius
Top ich danke dir
-
Hallo, ich möchte gerne eine Suche erstellen, habe dies aber auch noch nie gemacht und habe nichts Passendes gefunden, was mir weiterhelfen kann. Da die Namen in einer Liste stehen, die mit einem Inputfeld gesucht werden sollen, sobald man die ersten Buchstaben eingibt.
Beispiel ich gebe den Namen Msgbox 5 in das Inputfeld ein, dann sollen die anderen Namen aus der Liste verschwinden und nur noch Msgbox 5 ist in der Liste zu finden.
Ich habe mal eine Test GUI erstellt
und habe auch in den Code beschrieben wie, was passieren soll und gemacht werden soll. Nur leider weiß ich gar nicht, wie man bei einer Suchfunktion überhaupt vorgeht.
Auf jeden Fall soll jeder Name, der in der Liste steht, eine eigene Funktion aufrufen.
Vielleicht habt ihr Ideen oder könnt mir auf die Sprünge helfen. Ich lerne gerne dazu
C
Alles anzeigen#include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= $Form1_1 = GUICreate("Suche Test", 616, 438, 192, 124) $Suche = GUICtrlCreateInput("", 240, 32, 121, 21) GUICtrlSetCursor (-1, 5) $Label1 = GUICtrlCreateLabel("Suche", 272, 8, 47, 20) GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif") $SuchergebnisseBox = GUICtrlCreateList("", 56, 80, 121, 67) GUICtrlSetData(-1, "Msgbox 1|Msgbox 2|Msgbox 3|Msgbox 4|Msgbox 5|Msgbox 6|Msgbox 7|Msgbox 8|Test Moin") ;Gibt es hier eine Möglichkeit, das besser anzuordnen. Da es vorkommen kann das etliche Namen noch dazu kommen und die liste im Code zu lang wird? GUICtrlSetCursor (-1, 0) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $SuchergebnisseBox EndSwitch WEnd ;Funktion ist nur eine Vorbereitung von mir, weiß aber nicht, ob das überhaupt so funktioniert? Func ;hier ggf. mit einem If Befehl arbeiten??? ;ich möchte jede MsgBox einzeln ansteuern im Code, ist einfacher für mich. MsgBox ("", "INFO", "Ich komme von Msgbox 1") ;Diese Nachricht soll erst erscheinen, wenn ich in der GUI den Namen in das Inputfeld eingegeben habe und ich auf den Namen in der Liste geklickt habe! MsgBox ("", "INFO", "Ich komme von Msgbox 2") ;Diese Nachricht soll erst erscheinen, wenn ich in der GUI den Namen in das Inputfeld eingegeben habe und ich auf den Namen in der Liste geklickt habe! MsgBox ("", "INFO", "Ich komme von Msgbox 3") ;Diese Nachricht soll erst erscheinen, wenn ich in der GUI den Namen in das Inputfeld eingegeben habe und ich auf den Namen in der Liste geklickt habe! MsgBox ("", "INFO", "Ich komme von Msgbox 4") ;Diese Nachricht soll erst erscheinen, wenn ich in der GUI den Namen in das Inputfeld eingegeben habe und ich auf den Namen in der Liste geklickt habe! MsgBox ("", "INFO", "Ich komme von Msgbox 5") ;Diese Nachricht soll erst erscheinen, wenn ich in der GUI den Namen in das Inputfeld eingegeben habe und ich auf den Namen in der Liste geklickt habe! MsgBox ("", "INFO", "Ich komme von Msgbox 6") ;Diese Nachricht soll erst erscheinen, wenn ich in der GUI den Namen in das Inputfeld eingegeben habe und ich auf den Namen in der Liste geklickt habe! MsgBox ("", "INFO", "Ich komme von Msgbox 7") ;Diese Nachricht soll erst erscheinen, wenn ich in der GUI den Namen in das Inputfeld eingegeben habe und ich auf den Namen in der Liste geklickt habe! MsgBox ("", "INFO", "Ich komme von Msgbox 8") ;Diese Nachricht soll erst erscheinen, wenn ich in der GUI den Namen in das Inputfeld eingegeben habe und ich auf den Namen in der Liste geklickt habe! MsgBox ("", "INFO", "Ich komme von Test Moin") ;Diese Nachricht soll erst erscheinen, wenn ich in der GUI den Namen in das Inputfeld eingegeben habe und ich auf den Namen in der Liste geklickt habe! EndFunc
-
Vergiß es. Mit dem nächsten Sicherheits-Update, dass du ja wohl doch mal zum Selbstschutz drauf ziehst, wird auch diese "Lücke" wieder geschlossen.
kann man nicht die Pausezeit irgendwie hochstellen auf 25000 Tage von mir aus das reicht dicke zu
-
Hier sind noch so einige Möglichkeiten aufgeführt, diese sind Versionsabhängig.
Automatische Updates deaktivieren oder auf manuell setzen Windows 10
ich habe es jetzt mit dem Programm O&O ShutUp10 geschafft nun sollte endlich ruhe sein
danke für dein Link ich hätte sonst nie das Programm gefunden
-
Hier sind noch so einige Möglichkeiten aufgeführt, diese sind Versionsabhängig.
Automatische Updates deaktivieren oder auf manuell setzen Windows 10
in der regedit hab ich auch schon vieles geschrieben, ist leider auch kein großer erfolg gewesen aber ich denke dort müsste es auch ein wert/eintrag geben um die Update pause länge zu bestimmen
-
Hey, Ich wollte mal wissen ob Ihr ein weg kennt, um die Windows 10 Updates abzuschalten, ich war noch nie ein großer freund von den Updates, bei Windows 7 hatte ich die immer aus.
Ich habe einiges in Googel gefunden und gelesen zB unter Dienste und dann dort Windows Updates beenden ich habe vieles ausprobiert aber leider hat es nie was gebracht ich kann immer nach einem Update die nächsten Updates auf 30 Tage Pausieren.
Jetzt ist die Frage, hat jemand ein Skript womit ich die Tage auf 1 Million Tage hochstelle das klingt zwar bescheuert, aber das wäre auch eine Möglichkeit.
Wie gesagt ich habe vieles schon ausprobiert und nichts hat geholfen und bei mir steht unten rechts das die nächsten Updates verfügbar sind, ich könnte .
Gruß Whitey
-
ok, nochmal vielen Dank
Jetzt geht es, den Pfad von der ini war richtig alles gut
Nur wenn ich das in mein Hauptprogramm oder Skript, egal wie man es nennt, einfüge und ich die Aufnahme1 aufrufe, gebe ich meine Zeit ein usw.
Jetzt sagt er mir bei Minuten und Sekunden gleich nachdem ich den Timer gestartet habe, ist zu Ende. Obwohl die Zeit eigentlich noch nicht vorbei ist
bei den Stunden läuft er länger, nur Minuten und Sekunden ist er nach 2 sec durch
obwohl 1 min und 1 sec darin steht
bei dem Test Code den du mir geschickt hast Moombas geht es, im Hauptcode geht es nicht.
-
@Moombas kannst du mir mal bitte noch erklären warum meine ini Datei nicht mehr geht, es steht zwar was in der ini aber die Input Felder werden nicht von der ini übernommen. Wenn jetzt aber "GUICtrlSetData($input1[3], IniRead($ini, "3","Sekunden", 2)) ;ggf. den Defaultwert (2) (wenn die Ini nicht gefunden/gelesen werden kann) ändern"
darin steht, trägt er die 2 ein so wie es im Code steht aber in der ini steht was anderes und die Zahlen trägt er nicht in die Input Felder.
Ich kann den fehler jetzt auch nicht finden.
-
Hallo, danke für die Hilfe
Ich empfehle dir halt Dringend Variablen so wenig wie möglichGlobal zu definieren und (wenn nicht nötig) kein Call für den Aufruf einer Funktion zu benutzen.
Auch verwende lieber Bitor() um die Flags zu setzen, dann weiß man später noch, was du da gesetzt hast, mit dem puren Hex-Wert kann später keiner mehr was anfangen bzw. muss sich das mühsam zusammen suchen.
Und das was ich in meinem Code hier gemacht habe (über Kommentare bei den globalen Variablen) kannst du diese dort dennoch "Gruppieren" und weißt somit wozu du diese brauchst.
Der Trick für den Hotkey isst ja eigentlich nur, das dieser einen manuellen Click auf den Button simuliert, sprich: Wichti war nur das der Button an sich funktioniert.
Ich hoffe du hast den Code auch verstanden den ich da zusammen gezimmert hat (mit Sicherheit noch weiter optimierbar aber dafür würde das restliche Skript evtl. fehlen bzw. ich wollte es dann nicht zu sehr von deinem ursprünglichen Code bringen).
Ja, das mit dem Call hab ich nun auch gelernt, dachte so konnte man immer eine Funktion aufrufen.
aber wenn z.b
StartTest ()
Func StartTest ()
Genügt dann weiß ich Bescheid danke für deinen Tipp, das mit dem (Flag 0x00C80000) ist nicht von mir wie gesagt ich habe das Skript aus dem Internet und hab es nur kopiert, weil es so gut gepasst hatte.
Wenn ich ehrlich bin, weiß ich nicht einmal was ein Flag ist
Lerne auch nur Stück für Stück dazu
Velted auch dir danke ich für deine Hilfe