Hotkeyset funktioniert nicht

  • Hi Leute,

    ich schreib grad einen Klaviersimulator. Bei mir funktioniert Hotkeyset nicht. Kann mir wer helfen?

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=TSPS-Start.exe
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs ----------------------------------------------------------------------------
    Program Name: The Simple Piano Simulator
    Program Version: 1.0
    Author: The StevenX Media Company; Stefan Blagojevic; [email='office@StevenX.at.tf'][/email]

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

    #ce ----------------------------------------------------------------------------

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

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("The Simple Piano Simulator", 625, 443, 192, 124)
    $Pic1 = GUICtrlCreatePic("C:\Users\Stefan\Documents\StevenX Media\The Simple Piano Simulator\Default.jpg", 8, 0, 593, 377, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Label1 = GUICtrlCreateLabel("Press a key", 296, 400, 59, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    HotKeySet( 'A', 'A')

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

    Func A()
    SoundPlay( @ScriptDir & '\Keys\1.mp3')
    EndFunc

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

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

    2 Mal editiert, zuletzt von Stevenx (3. Juni 2011 um 15:06)

  • Ich will, dass die Konsole über "SEND" Backup macht, und in der GUI kann man den Fortschritt sehen.

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Kann mir bitte wer helfen?

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Viel zu wenige Informationen,
    falls du ein Script hast poste das doch bitte.
    Außerdem wie machst du die Backups über cmd befehle? Externes programm ?

    MfG Sumsum ^^

  • Ich gehe davon aus, das du folgendes meinst :) :

    [autoit]

    Local $i = 0

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

    #include <Constants.au3>

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

    Local $hPing = Run(@ComSpec & " /c ping localhost -n 10", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    Local $sLine = ""
    ProgressOn("Progress", "Ping localhost", "0 percent")
    While True
    $sLine = StdoutRead($hPing)
    If @error Then ExitLoop
    If StringInStr($sLine, "Antwort von") Then
    $i += 10
    ProgressSet($i, $i & " percent")
    EndIf
    WEnd
    ProgressSet(100, "Done", "Complete")
    ProgressOff()

    [/autoit]

    Startest du denn eine Batch? Wenn ja, warum nicht alles über AutoIt?

    21 is only half the truth.

  • Da "DirCopy" nicht alles kopieren kann wegen Schreibschutz. Benutzerdateien kann man nur über BATCH kopieren.

    Script angehängt.

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • erm ich glaube du hast das falsche Script erwischt.
    Es ging doch darum, dass du die Eingabeaufforderung auslesen willst und nicht um ein Klavier ? :D

    21 is only half the truth.

  • Sorry wollte nicht ein 2tes Thread eröffnen. Script Backup:

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=Backup.exe
    #AutoIt3Wrapper_UseX64=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs ----------------------------------------------------------------------------

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

    Program Version: 4.0
    Author: StevenX Media Company 2011; By Stefan Blagojevic; Copyright: "Geistiges Eigentum"

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

    Program Name: User Backup Starter

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

    #ce ----------------------------------------------------------------------------

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

    SoundPlay( @ScriptDir & '\Sounds\ProgramStart.mp3', 0)
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=c:\users\stefan\documents\stevenx media\ubs version 4\data\images\backup.kxf
    $Form1_1 = GUICreate("User Backup Starter Version 4", 625, 443, 192, 123)
    $MenuItem1 = GUICtrlCreateMenu("&UBS")
    $Exit = GUICtrlCreateMenuItem("UBS Beenden", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenu("&?")
    $Help = GUICtrlCreateMenuItem("Hilfe", $MenuItem2)
    $About = GUICtrlCreateMenuItem("Über", $MenuItem2)
    $OneClick = GUICtrlCreateButton("One-Click Backup", 88, 48, 449, 137, $WS_GROUP)
    $Erweitert = GUICtrlCreateButton("Erweiterter Modus", 48, 200, 521, 193, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Exit
    Exit
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_DISABLE)
    Case $Erweitert
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Erweitert", 184, 454, 193, 129)
    $Label1 = GUICtrlCreateLabel("Erweiterter Modus", 8, 32, 89, 17)
    $Quelle = GUICtrlCreateButton("Quelle", 8, 80, 163, 33, $WS_GROUP)
    $Ziel = GUICtrlCreateButton("Ziel", 8, 136, 163, 33, $WS_GROUP)
    $Label2 = GUICtrlCreateLabel("Wann?", 8, 200, 39, 17)
    $one = GUICtrlCreateRadio("1-mal", 8, 224, 113, 17)
    $day = GUICtrlCreateRadio("Täglich", 8, 248, 113, 17)
    $week = GUICtrlCreateRadio("Wöchentlich", 8, 272, 113, 17)
    $start = GUICtrlCreateButton("Speichern und Backup", 0, 312, 177, 73, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Quelle
    $QuelleOrdner = FileSelectFolder( 'Wählen Sie die Quelle aus.', '', 1)
    Case $Ziel
    $ZielOrdner = FileSelectFolder( 'Wählen Sie das Ziel aus.', '', 1)
    Case $one

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

    Case $day

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

    IniWrite( @ScriptDir & '\Settings.ubsset', 'Time-plan', 'Day', @YEAR & '/' & @MON & '/' & @MDAY)
    Case $week
    IniWrite( @ScriptDir & '\Settings.ubsset', 'Time-plan', 'Week', @YEAR & '/' & @MON & '/' & @MDAY)
    Case $start

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

    $Copy = DirCopy( $Quelle, $Ziel, 1)
    MsgBox( 0+64, 'Fertig', 'Backup ist fertig!')

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

    EndSwitch
    WEnd

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

    Case $OneClick

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

    $var = IniRead(@ScriptDir & '\Settings.ubsset', "1A", "Folder", "Nicht Gefunden")
    $Ergebnisfrage = MsgBox( 4+64, 'Ergebnis', 'Ziel: <' & $var & '> Damit zufrieden?')
    If $Ergebnisfrage = 6 Then
    MsgBox( 0, 'Sie haben <Ja> gedrueckt', 'Backup wird gestartet...')
    SoundPlay( @ScriptDir & '\Sounds\Start.mp3', 0)

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

    ShellExecute( 'C:\Windows\System32\cmd.exe')
    WinWaitActive ("C:\Windows\System32\cmd.exe")
    Send( 'robocopy ')
    Send( @UserProfileDir & '\Music ')
    Send( $var & '\UBS\Music')
    Send( ' /MIR{ENTER}')

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

    Sleep( 5000)

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

    ShellExecute( 'C:\Windows\System32\cmd.exe')
    WinWaitActive ("C:\Windows\System32\cmd.exe")

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

    Send( 'robocopy ')
    Send( @UserProfileDir & '\Videos ')
    Send( $var & '\UBS\Videos')
    Send( ' /MIR{ENTER}')

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

    Sleep( 5000)

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

    ShellExecute( 'C:\Windows\System32\cmd.exe')
    WinWaitActive ("C:\Windows\System32\cmd.exe")

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

    Send( 'robocopy ')
    Send( @UserProfileDir & '\Documents ')
    Send( $var & '\UBS\Documents')
    Send( ' /MIR{ENTER}')

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

    Sleep( 5000)

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

    ShellExecute( 'C:\Windows\System32\cmd.exe')
    WinWaitActive ("C:\Windows\System32\cmd.exe")

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

    Send( 'robocopy ')
    Send( @UserProfileDir & '\Downloads ')
    Send( $var & '\UBS\Downloads')
    Send( ' /MIR{ENTER}')

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

    Sleep( 5000)

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

    ShellExecute( 'C:\Windows\System32\cmd.exe')
    WinWaitActive ("C:\Windows\System32\cmd.exe")

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

    Send( 'robocopy ')
    Send( @UserProfileDir & '\Pictures ')
    Send( $var & '\UBS\Pictures')
    Send( ' /MIR{ENTER}')
    Sleep( 5000)

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

    Else
    $Ziel1 = FileSelectFolder( 'Sie sind nicht zufrieden. Wählen Sie Ihr Ziel aus, dieses wird gespeichert und verwendet.', '', 1)
    IniWrite( @ScriptDir & '\Settings.ubsset', '1A', 'Folder', $Ziel1)
    SoundPlay(@ScriptDir & '\Sounds\Start.mp3')
    ShellExecute( 'C:\Windows\System32\cmd.exe')
    WinWaitActive ("C:\Windows\System32\cmd.exe")
    Send( 'robocopy ')
    Send( @UserProfileDir & '\Music ')
    Send( $Ziel1 & '\UBS\Music')
    Send( ' /MIR{ENTER}')

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

    Sleep( 5000)

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

    ShellExecute( 'C:\Windows\System32\cmd.exe')
    WinWaitActive ("C:\Windows\System32\cmd.exe")

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

    Send( 'robocopy ')
    Send( @UserProfileDir & '\Videos ')
    Send( $Ziel1 & '\UBS\Videos')
    Send( ' /MIR{ENTER}')

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

    Sleep( 5000)

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

    ShellExecute( 'C:\Windows\System32\cmd.exe')
    WinWaitActive ("C:\Windows\System32\cmd.exe")

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

    Send( 'robocopy ')
    Send( @UserProfileDir & '\Documents ')
    Send( $Ziel1 & '\UBS\Documents')
    Send( ' /MIR{ENTER}')

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

    Sleep( 5000)

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

    ShellExecute( 'C:\Windows\System32\cmd.exe')
    WinWaitActive ("C:\Windows\System32\cmd.exe")

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

    Send( 'robocopy ')
    Send( @UserProfileDir & '\Downloads ')
    Send( $Ziel1 & '\UBS\Downloads')
    Send( ' /MIR{ENTER}')

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

    Sleep( 5000)

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

    ShellExecute( 'C:\Windows\System32\cmd.exe')
    WinWaitActive ("C:\Windows\System32\cmd.exe")

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

    Send( 'robocopy ')
    Send( @UserProfileDir & '\Pictures ')
    Send( $Ziel1 & '\UBS\Pictures')
    Send( ' /MIR{ENTER}')
    Sleep( 5000)

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

    EndIf

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

    Case $About
    MsgBox( 0+64, 'Über', 'User Backup Starter Version 4; By Stefan Blagojevic, StevenX Media, office@StevenX.at.tf')

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

    EndSwitch

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

    WEnd

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

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Zunächst einmal: Send brauchst du gar nicht :)
    Es ist sehr viel zuverlässiger die Befehle über Parameter zu übergeben: z.B. "cmd /c ping localhost"

    [autoit]

    ShellExecuteWait(@ComSpec, '/c robocopy "' & @UserProfileDir & ' \Music" "' & $Ziel1 & '\UBS\Music" /MIR')

    [/autoit]


    Außerdem funktioniert bei deinem Script das Abbrechen nicht wirklich :)
    Das solltest du vielleicht erst einmal überarbeiten
    Die Progressbar (siehe Oben) könntest du dann so wie in meinem Script machen (z.B. nach jedem Robocopy Befehl)

    21 is only half the truth.