msgbox in den Vordergrund (aus batch heraus gestartet ...)

  • VBScript

    msgbox in den Vordergrund (aus batch heraus gestartet ...)

    Hallo zusammen,
    aus einem Batch heraus starte ich Inputboxen. Mein Problem ist, dass sie nicht auf der Oberfläche sichtbar sind, sondern sich immer hinter allen anderen offenen Fenster legen. Ich habe schon viel herumexperimentiert, leider ohne Erfolg. Auch folgenden Beitrag habe ich gelesen, schaffe aber den Einbau leider nicht :
    Eigene Dialogboxen wie Msgboxen immer im Vordergrund anzeigen

    In diesen beiden Beispielen wird jeweils ein Fenster gestartet, das eben in den Vordergrund soll:

    Quellcode

    1. :minibox
    2. >"%temp%\msgbox.vbs" ECHO WScript.Echo InputBox("" ^& vbCrLf ^& _
    3. >>"%temp%\msgbox.vbs" ECHO "" ^& vbCrLf ^& _
    4. >>"%temp%\msgbox.vbs" ECHO "Eingabe:" ^& vbCrLf ^& _
    5. >>"%temp%\msgbox.vbs" ECHO "" ^& vbCrLf ^& _
    6. >>"%temp%\msgbox.vbs" ECHO "", _
    7. >>"%temp%\msgbox.vbs" ECHO "%header%", _
    8. SET "all-a="
    9. for /f "delims=" %%i in ('cscript //nologo %temp%\msgbox.vbs') do set "all-a=%%i"
    10. DEL "%temp%\msgbox.vbs"
    11. if not defined all-a (goto :minibox) else (goto :exit)
    12. :auswahl
    13. >%temp%\msgbox.vbs ECHO 'Bypasses IE7+ c:\fakepath\file.txt problem
    14. >>%temp%\msgbox.vbs ECHO Function BrowseForFile()
    15. >>%temp%\msgbox.vbs ECHO With CreateObject("WScript.Shell")
    16. >>%temp%\msgbox.vbs ECHO Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
    17. >>%temp%\msgbox.vbs ECHO Dim tempFolder : Set tempFolder = fso.GetSpecialFolder(2)
    18. >>%temp%\msgbox.vbs ECHO Dim tempName : tempName = fso.GetTempName() ^& ".hta"
    19. >>%temp%\msgbox.vbs ECHO Dim path : path = "HKCU\Volatile Environment\MsgResp"
    20. >>%temp%\msgbox.vbs ECHO With tempFolder.CreateTextFile(tempName)
    21. >>%temp%\msgbox.vbs ECHO .Write "<input type=file name=f>" ^& _
    22. >>%temp%\msgbox.vbs ECHO "<script>f.click();(new ActiveXObject('WScript.Shell'))" ^& _
    23. >>%temp%\msgbox.vbs ECHO ".RegWrite('HKCU\\Volatile Environment\\MsgResp', f.value);" ^& _
    24. >>%temp%\msgbox.vbs ECHO "close();</script>"
    25. >>%temp%\msgbox.vbs ECHO .Close
    26. >>%temp%\msgbox.vbs ECHO End With
    27. >>%temp%\msgbox.vbs ECHO .Run tempFolder ^& "\" ^& tempName, 1, True
    28. >>%temp%\msgbox.vbs ECHO BrowseForFile = .RegRead(path)
    29. >>%temp%\msgbox.vbs ECHO .RegDelete path
    30. >>%temp%\msgbox.vbs ECHO End With
    31. >>%temp%\msgbox.vbs ECHO End Function
    32. >>%temp%\msgbox.vbs ECHO wscript.echo BrowseForFile
    33. :: Auslesen der vbs-Variable in batch
    34. for /f "delims=" %%i in ('cscript //nologo %temp%\msgbox.vbs') do set "Pfad=%%~dpi" & set "Name=%%~ni" & set "Typ=%%~xi"
    35. ::echo "%Name%" mit Typ "%Typ%" in Pfad "%Pfad%" ergibt: "%Pfad%%Name%%Typ%
    36. del %temp%\msgbox.vbs
    37. :: Wenn Varible definiert ist, dann weiter, ansonsten Abbruch


    Ich freue mich über Tipps und vielleicht sogar Hilfe!
    gruenlinge