1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. theo

Beiträge von theo

  • programm beenden

    • theo
    • 27. Februar 2014 um 19:25
    Zitat

    Aber alleine durch dein Prof. Raupi geschreibsel, wird mir klar, das es dir am Arsch vorbeigeht etwas zu ändern.

    jo geht's mir auch wenn es einen so an den Kopf geworfen wird wie es in den Wald hineinschalt kommt es halt zurück

    ich liebe solche Dummschwätzer könnt ihr nicht einfach eure Kommentare lassen entweder antwortet zum Thema oder lasst es sein es zwingt doch hier keinen das er es lesen muss oder sogar antworten

  • programm beenden

    • theo
    • 27. Februar 2014 um 17:57

    sorry prof. Raupi wusste nicht das es hier um Grammatik und Rechtschreibung geht verstehe jetzt nur nicht warum ich jetzt soweit gekommen bin wenns keiner lesen und verstehen kann aber egal danke noch mal an Friesel dank dir hab ich ich jetzt diesen weg gewählt

    Spoiler anzeigen
    [autoit]

    $input = InputBox("Beenden","Bezeichnung letzter Film:","","",400,150,50,50)
    $fFile = "Y:\mkv" & $input & ".MP4"
    While 1
    If _FileInUse($fFile) = 1 then
    While 2
    If _FileInUse($fFile) = 0 then
    sleep (6000)
    ProcessClose( "MediaConverter.exe" )
    Exit
    EndIf
    WEnd
    EndIf
    WEnd

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

    ;===============================================================================
    ;
    ; Function Name: _FileInUse()
    ; Description: Checks if file is in use
    ; Parameter(s): $sFilename = File name
    ; Return Value(s): 1 - file in use (@error contains system error code)
    ; 0 - file not in use or file not exists
    ; Create by: Rogue5099
    ; Modified by: michaelslamet
    ;
    ;===============================================================================
    Func _FileInUse($sFilename)
    ;note: dword", 0x40000000, _ ---> jalan bagus jika $sFilename ada di hdd local, tapi jika $sFilename ada di network drive, gunakan dword", 0x80000000, _
    Local $aRet, $hFile
    If StringUpper(DriveGetType($sFilename)) = "NETWORK" Then
    $aRet = DllCall("Kernel32.dll", "hwnd", "CreateFile", _
    "str", $sFilename, _ ;lpFileName
    "dword", 0x80000000, _ ;dwDesiredAccess = GENERIC_READ
    "dword", 0x00000004, _ ;dwShareMode = DO NOT SHARE
    "dword", 0, _ ;lpSecurityAttributes = NULL
    "dword", 3, _ ;dwCreationDisposition = OPEN_EXISTING
    "dword", 128, _ ;dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL
    "hwnd", 0) ;hTemplateFile = NULL
    Else
    $aRet = DllCall("Kernel32.dll", "hwnd", "CreateFile", _
    "str", $sFilename, _ ;lpFileName
    "dword", 0x40000000, _ ;dwDesiredAccess = GENERIC_WRITE
    "dword", 0x00000004, _ ;dwShareMode = DO NOT SHARE
    "dword", 0, _ ;lpSecurityAttributes = NULL
    "dword", 3, _ ;dwCreationDisposition = OPEN_EXISTING
    "dword", 128, _ ;dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL
    "hwnd", 0) ;hTemplateFile = NULL
    EndIf
    If NOT FileExists($sFilename) Then
    Return 0
    Else
    $hFile = $aRet[0]
    If $hFile = -1 Then ;INVALID_HANDLE_VALUE = -1
    $aRet = DllCall("Kernel32.dll", "int", "GetLastError")
    SetError($aRet[0])
    Return 1
    Else
    ;close file handle
    DllCall("Kernel32.dll", "int", "CloseHandle", "hwnd", $hFile)
    Return 0
    EndIf
    EndIf
    EndFunc

    [/autoit]

    habe es einige male getestet scheint zu funktionieren

  • programm beenden

    • theo
    • 27. Februar 2014 um 10:09

    hallo Friesel gute Idee mit der Converter.exe so könnte ich die abfrage umschreiben sie läuft nur solange convertiert wird leider geht es nur nicht wenn du mehrere hintereinander machen willst :( die exe geht nach jeder Dateien die convertiert werden soll aus und bei der nächsten wieder an und

    Zitat

    "_WinAPI_FileInUse" auf die Zieldatei anzuwenden,

    geht ja auch nicht da der Name ja nie gleich bleibt

  • programm beenden

    • theo
    • 27. Februar 2014 um 09:01

    der Mediaconverter kann nach beenden einen Warnhinweis ertönen lassen bei mir Windows-Hinweis.wav also der ton kommt von allein wenn der Converter fertig ist die file abfrage scheint soweit zu funktionieren wenn ich diese wav manuell starte nur nicht wenn der Converter versucht den ton zu spielen mal kommt ein ton mal nicht habe es sehr viele male getestet und auch wenn mal ein ton kommt funktioniert es nur sehr selten achso habe windows7 Prof 32 bit wenn das was zu sagen hat deshalb konnte ich es ja nicht über herunterfahren lösen habe gelesen das man unter win7 herunterfahren nicht mehr unterbrechen kann ist es nicht irgendwie möglich in eine wav Datei so ein Befehl wie ProcessClose einzufügen das währe doch das einfachste

  • programm beenden

    • theo
    • 26. Februar 2014 um 23:21

    so hab mal wieder etwas gesucht und auch was gefunden nur verstehe ich nicht warum es mal geht und mal nicht

    Spoiler anzeigen
    [autoit]

    run ("C:\Program Files\ArcSoft\MediaConverter 8\MediaConverter.exe")
    $fFile = "C:\Windows\Media\Windows-Hinweis.wav"
    While 1
    If _FileInUse($fFile) = 0 then
    Else
    ProcessClose( "MediaConverter.exe" )
    Exit
    EndIf
    WEnd

    ;===============================================================================
    ;
    ; Function Name: _FileInUse()
    ; Description: Checks if file is in use
    ; Parameter(s): $sFilename = File name
    ; Return Value(s): 1 - file in use (@error contains system error code)
    ; 0 - file not in use or file not exists
    ; Create by: Rogue5099
    ; Modified by: michaelslamet
    ;
    ;===============================================================================
    Func _FileInUse($sFilename)
    ;note: dword", 0x40000000, _ ---> jalan bagus jika $sFilename ada di hdd local, tapi jika $sFilename ada di network drive, gunakan dword", 0x80000000, _
    Local $aRet, $hFile
    If StringUpper(DriveGetType($sFilename)) = "NETWORK" Then
    $aRet = DllCall("Kernel32.dll", "hwnd", "CreateFile", _
    "str", $sFilename, _ ;lpFileName
    "dword", 0x80000000, _ ;dwDesiredAccess = GENERIC_READ
    "dword", 0x00000004, _ ;dwShareMode = DO NOT SHARE
    "dword", 0, _ ;lpSecurityAttributes = NULL
    "dword", 3, _ ;dwCreationDisposition = OPEN_EXISTING
    "dword", 128, _ ;dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL
    "hwnd", 0) ;hTemplateFile = NULL
    Else
    $aRet = DllCall("Kernel32.dll", "hwnd", "CreateFile", _
    "str", $sFilename, _ ;lpFileName
    "dword", 0x40000000, _ ;dwDesiredAccess = GENERIC_WRITE
    "dword", 0x00000004, _ ;dwShareMode = DO NOT SHARE
    "dword", 0, _ ;lpSecurityAttributes = NULL
    "dword", 3, _ ;dwCreationDisposition = OPEN_EXISTING
    "dword", 128, _ ;dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL
    "hwnd", 0) ;hTemplateFile = NULL
    EndIf
    If NOT FileExists($sFilename) Then
    Return 0
    Else
    $hFile = $aRet[0]
    If $hFile = -1 Then ;INVALID_HANDLE_VALUE = -1
    $aRet = DllCall("Kernel32.dll", "int", "GetLastError")
    SetError($aRet[0])
    Return 1
    Else
    ;close file handle
    DllCall("Kernel32.dll", "int", "CloseHandle", "hwnd", $hFile)
    Return 0
    EndIf
    EndIf
    EndFunc

    [/autoit]

    ab und zu kommt auch kein hinweiston nach dem ende des converters aber nur wenn es über das script läuft

  • programm beenden

    • theo
    • 26. Februar 2014 um 09:06

    also danke erst mal für die antworten das umschreiben der Endung muss so sein die Großbuchstaben werden später nicht erkannt es muss klein geschrieben sein und cdauswurf hab ich schon ;) deshalb startet da eine exe ich weis das hätte ich sicherlich auch mit in dieses script schreiben können was auch sicher noch kommt aber ich wollte es erst mal so zum laufen bringen und mich zum schluss um solche Feinheiten kümmern

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Laufwerke", 129, 328, 183, 295)
    GUISetBkColor(0x000000)
    $d = GUICtrlCreateButton("D", 16, 8, 65, 25, 0)
    GUICtrlSetBkColor(-1, 0xFF1E04)
    $alle = GUICtrlCreateButton("ALLE", 24, 280, 73, 25, 0)
    GUICtrlSetBkColor(-1, 0xFF1E04)
    $e = GUICtrlCreateButton("E", 16, 40, 65, 25, 0)
    GUICtrlSetBkColor(-1, 0xFF1E04)
    $f = GUICtrlCreateButton("F", 16, 72, 65, 25, 0)
    GUICtrlSetBkColor(-1, 0xFF1E04)
    $g = GUICtrlCreateButton("G", 16, 104, 65, 25, 0)
    GUICtrlSetBkColor(-1, 0xFF1E04)
    $h = GUICtrlCreateButton("H", 16, 136, 65, 25, 0)
    GUICtrlSetBkColor(-1, 0xFF1E04)
    $i = GUICtrlCreateButton("I", 16, 168, 65, 25, 0)
    GUICtrlSetBkColor(-1, 0xFF1E04)
    $j = GUICtrlCreateButton("J", 16, 200, 65, 25, 0)
    GUICtrlSetBkColor(-1, 0xFF1E04)
    $k = GUICtrlCreateButton("K", 16, 232, 65, 25, 0)
    GUICtrlSetBkColor(-1, 0xFF1E04)
    $is = GUICtrlCreateButton("I", 96, 32, 25, 49, 0)
    GUICtrlSetBkColor(-1, 0x80FF00)
    $js = GUICtrlCreateButton("J", 96, 120, 25, 49, 0)
    GUICtrlSetBkColor(-1, 0x80FF00)
    $ks = GUICtrlCreateButton("K", 96, 208, 25, 49, 0)
    GUICtrlSetBkColor(-1, 0x80FF00)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $d
    CDTray('D:', 'open')

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

    Case $e
    CDTray('E:', 'open')

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

    Case $f
    CDTray('F:', 'open')

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

    Case $g
    CDTray('G:', 'open')

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

    Case $h
    CDTray('H:', 'open')

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

    Case $i
    CDTray('I:', 'open')

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

    Case $j
    CDTray('J:', 'open')

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

    Case $k
    CDTray('K:', 'open')

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

    Case $alle
    CDTray('D:', 'open')
    CDTray('E:', 'open')
    CDTray('F:', 'open')
    CDTray('G:', 'open')
    CDTray('H:', 'open')
    CDTray('I:', 'open')
    CDTray('J:', 'open')
    CDTray('K:', 'open')

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

    Case $is
    CDTray('I:', 'close')

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

    Case $js
    CDTray('J:', 'close')

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

    Case $ks
    CDTray('K:', 'close')
    EndSwitch
    WEnd

    [/autoit]

    und das mit dem fenstertitel wird nicht gehen da ich keine Änderung sehe also wollte ich dann mal mit _WinAPI_FileInUse versuchen wenn ich hier wieder mehr zeit habe mache sowas nicht gern in stress


    PS: stören diese include wenn sie nicht benötigt werden ?? ich öffne immer mein testscript und schmeiss immer das andere raus statt ein neues scrip zu öffnen :S deshalb bleiben die immer drin

  • programm beenden

    • theo
    • 19. Februar 2014 um 19:56

    so ich mach ma mein Skript rein

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    $dvd = "Y:\mkv\cdauswurf.exe"
    $coder = "C:\Program Files (x86)\ArcSoft\MediaConverter 8\MediaConverter.exe"
    ShellExecute ($dvd)
    ShellExecuteWait ($coder)
    FileMove("Y:\mkv\*.MP4","Y:\mkv\*.mp")
    FileMove("Y:\mkv\*.mp","Y:\mkv\*.mp4")
    RunWait(@ComSpec & ' /C Y:\mkv\rotate_admin.bat', "Y:\mkv")
    FileMove("Y:\mkv\*.mkv", "Z:" , 1)
    FileMove("Y:\mkv\*.mp4", "Z:" , 1)
    Runwait (@ComSpec & ' /C Y:\mkv\spiegeln.ffs_batch', "Y:\mkv")
    Shutdown(12)

    [/autoit]


    der mediaconverter hat jetzt stunden zu tun ich habe die Möglichkeit bei dem converter einzustellen (was er nach dem letzten film machen soll) ob er ein alarmton bringt, in den Ruhezustand fährt oder runter fährt also es bleibt auch an wenn der ton beendet ist ich schreibe mal dazu das ich eigentlich nicht viel Ahnung von programmieren habe und sicher das ein oder andere hätte anderst geschrieben werden können aber so hats funktioniert ;) nur das ich halt den converter manuell schliessen muss das möchte ich noch ändern

  • programm beenden

    • theo
    • 19. Februar 2014 um 19:20

    sorry aber über _WinAPI_FileInUse ($sFile) finde ich nix hab auch lange nach vielen Möglichkeiten gesucht aber vielleicht nie die richtigen worte dafür gefunden Programm beenden ist kein ding das bekomm ich hin nur halt wie im ersten teil steht die abfrage finde ich nix

  • programm beenden

    • theo
    • 19. Februar 2014 um 17:11

    hmm mal etwas genauer mein selbstgeschriebenes Programm soll mehrere Prozesse machen als erstes den Media Converter und danach noch andere Sachen soweit hab ich alles mache das alles über ShellExecuteWait weil das andere alles immer erst starten kann wenn das vorhergehende fertig ist nur dieser Media Converter beendet sich ja selbst nicht es gibt da halt nur die Möglichkeit das er wenn er fertig ist runterfährt, ruhemodus oder ein alarmton also macht mein Skript ja erst weiter wenn ich das Programm Schließe und dafür suche ich eine Möglichkeit das es von alleine geht also es geht um ein fremdprogramm was geschlossen werden muss nicht um eins was ich geschrieben habe

  • programm beenden

    • theo
    • 19. Februar 2014 um 14:17

    hallo

    ich habe ein Programm geschrieben was mehrere Prozesse nacheinander machen soll nun weis ich bei einer Sache nicht weiter und zwar lässt sich das eine Programm nicht wen es fertig ist automatisch beenden es kann nur den pc in den Ruhezustand versetzen, herunter fahren oder Alarmton auslösen meine Idee währe wenn der Alarmton ertönt einfach das Programm beenden lassen den Alarmton habe ich schon gefunden (windows-hinweis.wav) meine frage ist wie kann ich abfragen ob diese wav Datei gestartet ist oder könnte man diese wav Datei so umschreiben das sie das Programm schließt dank euch schon mal

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™