1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Batch-Datei für Lautstärke

Discussion in 'Windows 7' started by Fearing, Sep 18, 2010.

Thread Status:
Not open for further replies.
  1. Fearing

    Fearing Byte

    Hallo!
    Mein Anliegen ist leicht größeren Umfangs aber ich schildere es einfach mal...
    Bei mir siehts folgendermaßen aus:
    Ich habe an meiner GraKa einmal den normalen PC-Monitor hängen, und dazu einen HD-TV der gespiegelt wird um zB. Filme zu schauen oder so.
    Wenn ich über den TV schaue, läuft der Ton auch über ihn (wird Digital per HDMI ausgegeben). Dort ist der Ton allerdings vergleichsweise leise im Gegensatz zu der HiFi-Anlage, über die der Ton bei PC-Arbeit/Spielen/Musik läuft. Bei der Anlage hab ich den Ton meistens auf 20% Systemlautstärke gedrosselt, da alles über eine Röhren-Vor-/ und -Endstufe läuft und bei höherer Lautstärke der Pegel zu empfindlich reagiert.
    Wie gesagt sind die 20% für den Fernseher allerdings zu leise. Und wenn ich den TV einfach lauter machen würde, fangen die Lautsprecher an zu summen, selbst wenn kein Ton kommt. Deshalb stell ich dann immer die Lautstärke am PC auf 50.
    Wenn der "Spiegel-Modus" aktiv ist, taktet sich die Grafikkarte im Leerlauf nicht runter, daher deaktiviere ich ihn immer wenn ich nicht mehr Film schaue.

    Das Umschalten von Spiegel-Modus und Nur-Monitor-Modus geht eigentlich einfach mit [Windows-Taste] + 3x[P].

    Um das ganze zu vereinfachen bin ich quasi auf der Suche nach einer Batch-Datei, die beim Ausführen eine gedrückte [Windows-Taste] simuliert, während 3x [P] gedrückt wird. (Die gedrückt gehaltene Taste ist wichtig, da beim 2. Drücken das Startmenü geöffnet wird). Und anschließend die Systemlautstärke auf einen bestimmten Wert setzt.
    Vorstellbar wäre das mit dem Ausführen von SndVol.exe und dann 5x Bild-Ab um in jedem Fall die Lautstärke auf 0 zu setzen und dann einmal Bild-Auf für 20er-Pegel und 2x Bild-Auf + 10x Richtungstaste-Auf (da Bild-Tasten immer um 20 erhöhen) für das TV-Profil.


    Ich hab allerdings keine Ahnung von Scriptfile-Programmierung und wäre daher für Anweisungen wie man sowas erstellt sehr dankbar!

    Ich stelle mir so vor per Schnellstart-Verknüpfung einfach zB. auf das Symbol für Monitor klicke, und dann wird der TV ausgeschaltet und die Systemlautstärke geht auf 20.
    Oder ich klicke auf das Symbol für den TV und dieser wird wieder aktiviert und die Lautstärke auf 50 angehoben.
     
  2. Barbossa00

    Barbossa00 Megabyte

    Schau dir mal Autohotkey an. Damit sollte sich dein Vorhaben realisieren lassen.



    Gruß
     
  3. Fearing

    Fearing Byte

    Vielen Dank schonmal, das Programm sieht vielversprechend aus!
    Habe mit dem AutoScriptWriter (Recorder) die notwendigen Tastenkombinationen ausgeführt und gespeichert. Wenn ich das Script dann aber ausführen möchte kommt eine Fehlermeldung:

    Error at line 8.

    Line Text: Send,
    Error: "Send" requires at least 1 parameter.

    The program will exit.


    ...daraus werde ich aber auch nicht schlau.
    Das Script sieht folgendermaßen aus:

    WinWait, Program Manager,
    IfWinNotActive, Program Manager, , WinActivate, Program Manager,
    WinWaitActive, Program Manager,
    Send, {RWINDOWN}{RWINUP}
    WinWait, AutoScriptWriter II - ( by Larry Keys ),
    IfWinNotActive, AutoScriptWriter II - ( by Larry Keys ), , WinActivate, AutoScriptWriter II - ( by Larry Keys ),
    WinWaitActive, AutoScriptWriter II - ( by Larry Keys ),
    Send,
    WinWait, Ausführen,
    IfWinNotActive, Ausführen, , WinActivate, Ausführen,
    WinWaitActive, Ausführen,
    Send, sndvol.exe{ENTER}
    WinWait, Lautstärkemixer - Realtek Digital Output (Realtek High Definition Audio),
    IfWinNotActive, Lautstärkemixer - Realtek Digital Output (Realtek High Definition Audio), , WinActivate, Lautstärkemixer - Realtek Digital Output (Realtek High Definition Audio),
    WinWaitActive, Lautstärkemixer - Realtek Digital Output (Realtek High Definition Audio),
    Send, {PGDN}{PGDN}{PGDN}{PGDN}{PGDN}{PGUP}{DOWN}{DOWN}{ALTDOWN}{F4}{ALTUP}
     
  4. SuriViruS

    SuriViruS Byte

    hi,

    im oberen Teil hast Du: Send, {RWINDOWN}{RWINUP}

    in der mitte hast du :Send, ohne das was übergeben wird

    Da fehlt der Parameter in Klammern {}{}, je nachdem was Du senden willst :cool:
     
  5. Fearing

    Fearing Byte

    Ich habs jetzt mal ohne den "Recorder" soweit vereinfacht:

    Send, {RWINDOWN}{P}{P}{P}{RWINUP}{ENTER}
    Send, {RWINDOWN}{R}{RWINUP}
    Send, sndvol.exe{ENTER}
    Send, {PGDN}{PGDN}{PGDN}{PGDN}{PGDN}{PGUP}{DOWN}{DOWN}{ALTDOWN}{F4}{ALTUP}


    Dadurch kommt schonmal keine Fehlermeldung mehr und der Monitormodus schaltet auch um. Allerdings ändert sich nichts an der Lautstärke. Ich interpretiere einfach mal dass das Script das "zu schnell" machen will und der Befehl für die Lautstärkekontrolle kommt während der Bildschirm noch schwarz ist.
    Ich bräuchte also nachdem Bildschirmmoduswechsel eine Wartezeit von 1-2 Sek. Ist dafür dieses "WinWait..."? Oder was muss ich dafür machen?
     
  6. SuriViruS

    SuriViruS Byte

    hab auch mal ein bisschen rumgespielt, will aber nicht zu sehr in die materie einsteigen. der autorecorder ist ganz gut, aber unter Win7 werden die Befehle vom skript anscheinend nicht 100%ig angenommen.

    Zu winwait:
    http://www.autoitscript.com/autoit3/docs/functions/WinWaitActive.htm

    ;Wait for the window "[CLASS:Notepad]" to exist and be active
    WinWaitActive("[CLASS:Notepad]")

    ;Wait a maximum of 5 seconds for "[CLASS:Notepad]" to exist and be active
    WinWaitActive("[CLASS:Notepad]", "", 5)


    also das scheint eher nen timeout zu sein, vielleicht gibt es ne andere möglichkeit ein delay einzubauen ?!

    sry weiß auch nicht weiter, aber schreib mal wenn´s bei Dir klappt.
    gz
     
  7. Fearing

    Fearing Byte

    ich bekomms leider auch net hin
     
Thread Status:
Not open for further replies.

Share This Page