Problem bei nachträglicher Script bearbeitung

  • Ich habe einen fertigen Script. Dieser soll nur die Lautstärke vom Micro von 0 auf 75% erhöhen, bzw. wieder von 75 auf 0% senken. Das funktioniert. Nun wollte ich die Lautstärke auf nur noch 10 oder 20% ändern. Doch nach der Änderung geht der Script nicht mehr. Er wird geöffnet und ohne Fehlermeldung sofort wieder geschlossen. Woran liegt das?

    [autoit]

    #include <audio.au3>

    [/autoit][autoit][/autoit][autoit]

    $g_szVersion = "Micro laut"
    If WinExists($g_szVersion) Then Exit ;
    AutoItWinSetTitle($g_szVersion)

    [/autoit][autoit][/autoit][autoit]

    Sleep(2000)
    _SoundSetMicrophoneVolume(75)
    Sleep(120000)
    _SoundSetMicrophoneVolume(0)

    [/autoit]
  • If WinExists($g_szVersion) Then Exit ;

    Hier haste deinen fehler ;)
    Ist doch klar, dass er das direkt schließt.
    Warum "Then Exit"?
    Willst du das dein Script direkt wieder schließt?

  • Das dient dazu das der Script nicht 2 mal ausgeführt wird.

    Die Datei geht ja ohne Probleme so wie sie im Forum steht.
    Aber wenn ich die Lautärke ändere geht die nicht mehr.
    Ich ändere nur die Zahl in _SoundSetMicrophoneVolume(75) speichere die änderung und danach geht es nicht mehr!

    Also danach steht dann meinet wegen _SoundSetMicrophoneVolume(50) drin.

  • Weis niemand rat?

    Warum geht der Script nicht mehr nach dem ich nur die Zahl geändert habe???? Nur aus 75 eine 10 oder 20 machen.

    Wenn 75 drin steht geht er!! Nach jeglicher andere bearbeitung der Sound Prozentzahl geht er nicht mehr

  • Probiers mal statt mit

    [autoit]

    If WinExists($g_szVersion) Then Exit

    [/autoit]

    mit

    [autoit]


    $Win = WinList($g_szVersion)
    If $Win[0][0] >1 Then Exit ;

    [/autoit]
    UNPLEASANT SPOILER

    You just lost the game!

  • Was ich nicht verstehe warum der Script vor der Bearbeitung fehlerfei geht und nach der Bearbeitung nicht mehr. Es ist doch alles gleich bis auf die Zahl bei SoundSetMicrophoneVolume.

  • Testen kann man das Skript ja nicht da die audio.au3 fehlt.
    Um aber zu verhindern das ein Skript mehrfach gestartet wurde nimmt man statt solcher Fenstertitelgeschichten eher einfach die Funktion _Singleton():

    [autoit]

    #include <Misc.au3>

    [/autoit][autoit][/autoit][autoit]

    If _Singleton("Mikro laut", 1) = 0 Then Exit

    [/autoit]
  • ...........

    Einmal editiert, zuletzt von AutoIt1989 (2. Juni 2011 um 12:35)

  • Nicht mal so geht es

    [autoit]

    #include <audio.au3>

    [/autoit][autoit][/autoit][autoit]

    Sleep(2000)
    _SoundSetMicrophoneVolume(15)
    Sleep(120000)
    _SoundSetMicrophoneVolume(0)

    [/autoit]
  • in welchem Betriebssystem soll das laufen?
    Zitat aus dem originalen Forum:

    Zitat

    Audio.au3 is designed for XP. I do not plan to offer support for Vista for

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Auf xp. Bearteite es aber auf Windows7. Geht aber auf XP auch nicht. Habe es probiert. Auch wenn ich es direkt auf dem XP Rechner bearbeite geht es nach dem abspeichern nicht mehr. Der Script mit 75% Lautstärke geht auf XP wie auch auf Win7. Nur auf Win7 ändert sich die Lautstärke halt nicht. Trotzdem wird der Script ansich ausgeführt.