Kommandozeilenversion
-
@DaDirnbocher sagte in Kommandozeilenversion:
nircmd win close ititle "kView"
FUNKTIONIERT!
Dankeschön!!! -
Erfahrungs-/Testbericht
@DaDirnbocher sagte in Kommandozeilenversion:
nircmd win close ititle "kView"
vorab: “Shame one me”. Ich hatte mich auf das verlassen, was auf der Seite stand, über die ich auf den Tipp mit nircmd gestoßen war.
Und das funktionierte bei anderen Programmen auch, nicht aber bei MV.
Und da ich bereits etliche Tools von Nir Sofer verwende, hätte ich besser mal die Hilfe-Datei komplett lesen sollen… — peinlich
Also, das Ganze funktioniert sogar besser als erwartet. Denn - wenn Abo-Donwloads laufen - schließt dieser Befehl nicht MV sondern das Fenster, das dann aufpoppt und die verschiedenen Optionen zum Abbrechen anbietet.
MV ist aber so programmiert, dass dieses Fenster - wenn es denn geschlossen wird - sofort erneut erscheint.
Also kann ich das, was ich möchte, dadurch erreichen, dass ich bereits 5 Minuten nach dem Start von MV über ein entsprechendes Timeout das erste Mal mit nircmd versuche, MV zu beenden. Und dieses Timeout wiederhole ich dann in einer Loop alle 5 Minuten.
@echo off :loop timeout 300 nircmd win close ititle "kView" goto loop exit
Wenn dann irgendwann alle Abos geladen sind, verschwindet das Popup-Fenster und beim nächsten Aufruf des nircmd-Befehls wird MV sauber geschlossen.
Jetzt müsste ich der guten Ordnung halber nur noch einen Weg finden, dass dann auch die Batchdatei mit der Loop geschlossen wird.
Any ideas???
-
@JD-Umsteiger nircmd sollte unterschiedliche Rückgabewerte liefern, je nachdem ob “kView” gefunden oder nicht gefunden wurde. Das goto müsste dann je nach Errorlevel bedingt aufgerufen werden. Siehe “help if”.
-
@JD-Umsteiger sagte in Kommandozeilenversion:
MV ist aber so programmiert, dass dieses Fenster - wenn es denn geschlossen wird - sofort erneut erscheint.
Nach meiner Einschätzung bist Du das, der dafür sorgt, dass das Fenster sofort wieder neu erscheint. Indem Du nircmd verwendest.
-
@DaDirnbocher sagte in Kommandozeilenversion:
@JD-Umsteiger sagte in Kommandozeilenversion:
MV ist aber so programmiert, dass dieses Fenster - wenn es denn geschlossen wird - sofort erneut erscheint.
Nach meiner Einschätzung bist Du das, der dafür sorgt, dass das Fenster sofort wieder neu erscheint. Indem Du nircmd verwendest.
Ja klar, das ist der Grund. Ich wollte ja nur damit sagen, dass MV (glücklicherweise) so programmiert ist, dass, wenn man auf das X zum Schließen klickt, dieses Fenster sofort wieder neu erscheint.
So, wie ich es für diese Funktion benötige
-
@Georg-J sagte in Kommandozeilenversion:
@JD-Umsteiger nircmd sollte unterschiedliche Rückgabewerte liefern, je nachdem ob “kView” gefunden oder nicht gefunden wurde. Das goto müsste dann je nach Errorlevel bedingt aufgerufen werden. Siehe “help if”.
… nur wird leider kein Rückgabewert ausgegeben
-
@JD-Umsteiger sagte in Kommandozeilenversion:
dass MV (glücklicherweise) so programmiert ist,
Ich hab das intensive Gefühl, dass wir aneinander vorbeireden. Aber egal.
nircmd win close ititle "kView" nircmd win activate ititle "kView b" nircmd sendkeypress a nircmd sendkeypress enter
Das ist de facto die Lösung, die ich Dir schon in meinem ersten Post in dem Thread vorgeschlagen habe. Nur halt mit AutoIt statt mit nircmd. Das wolltest aber offensichtlich nicht einmal ausprobieren.
Eines möchte ich Dir noch mitgeben. Ich empfehle dringendst, dass Du - bevor Du das in Produktivsystem einsetzt - Dich sehr intensiv mit nircmd, der Syntax, der Bedeutung der Befehle auseinandersetzt und verstehst, was da geschieht (da hab ich noch Zweifel). Und dann auf Deine Bedürfnisse anpasst.
Sonst kanns passieren, dass Du die eine oder andere Überraschung erlebst.
So, und damit klinke ich mich aus dem Thread aus.
-
Funktioniert nicht bei gesperrtem Bildschirm
@DaDirnbocher sagte in Kommandozeilenversion:
nircmd win close ititle "kView" nircmd win activate ititle "kView b" nircmd sendkeypress a nircmd sendkeypress enter
… Ich empfehle dringendst, dass Du … Dich sehr intensiv mit nircmd, der Syntax, der Bedeutung der Befehle auseinandersetzt und verstehst, was da geschieht (da hab ich noch Zweifel)…
… Zweifel, die ich nachfolgend zerstreuen kann
Aber dein ansonsten guter Vorschlag funktioniert nicht:
Bei gesperrtem Bildschirm werden alle Befehle übernommen - nicht aber ENTER.Da du nicht mehr antworten möchtest, vielleicht weiß jemand anderes Rat?
Anmerkungen:
Wenn man ititle verwendet, werden auch andere Fenster geschlossen, die kView enthalten (z.B. diese Seite aus dem Forum, da deren Titel auch kView enthält.) Besser ist stitle bzw. title.Besser ist diese Variante (und mit timeout auch sicherer)
nircmd win close stitle "MediathekView 1" timeout 2 nircmd win activate title "MediathekView beenden" timeout 2 nircmd sendkeypress a timeout 2 nircmd sendkeypress enter
Leider ist es mir bisher aber nicht gelungen, dass enter auch bei gesperrtem Bildschirm angenommen wird.
Und m.W. gibt es für Weiter keinen Hotkey?
-
@JD-Umsteiger sagte in Kommandozeilenversion:
Besser ist diese Variante (und mit timeout auch sicherer)
nircmd win close stitle "MediathekView 1" timeout 2 nircmd win activate title "MediathekView beenden" timeout 2 nircmd sendkeypress a timeout 2 nircmd sendkeypress enter
Leider ist es mir bisher aber nicht gelungen, dass enter auch bei gesperrtem Bildschirm angenommen wird.
Und
nircmd sendkeypress a
funktioniert bei gesperrtem Bildschirm?
Falls ja, versuchenircmd sendkey enter press
.
Oder versuche, vor dem enter noch einmalnircmd win activate title "MediathekView beenden"
abzusetzen.
Wenn das auch nicht funktioniert, mache dir mitnircmd sendkey printscreen press
nach demactivate
ein Bild des gesperrten Bildschirms in die Zwischenablage. -
@Georg-J
Danke für die Vorschläge.
Ich antworte morgen ausführlich!