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:
Ich freue mich über Tipps und vielleicht sogar Hilfe!
gruenlinge
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
- :minibox
- >"%temp%\msgbox.vbs" ECHO WScript.Echo InputBox("" ^& vbCrLf ^& _
- >>"%temp%\msgbox.vbs" ECHO "" ^& vbCrLf ^& _
- >>"%temp%\msgbox.vbs" ECHO "Eingabe:" ^& vbCrLf ^& _
- >>"%temp%\msgbox.vbs" ECHO "" ^& vbCrLf ^& _
- >>"%temp%\msgbox.vbs" ECHO "", _
- >>"%temp%\msgbox.vbs" ECHO "%header%", _
- SET "all-a="
- for /f "delims=" %%i in ('cscript //nologo %temp%\msgbox.vbs') do set "all-a=%%i"
- DEL "%temp%\msgbox.vbs"
- if not defined all-a (goto :minibox) else (goto :exit)
- …
- :auswahl
- >%temp%\msgbox.vbs ECHO 'Bypasses IE7+ c:\fakepath\file.txt problem
- >>%temp%\msgbox.vbs ECHO Function BrowseForFile()
- >>%temp%\msgbox.vbs ECHO With CreateObject("WScript.Shell")
- >>%temp%\msgbox.vbs ECHO Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
- >>%temp%\msgbox.vbs ECHO Dim tempFolder : Set tempFolder = fso.GetSpecialFolder(2)
- >>%temp%\msgbox.vbs ECHO Dim tempName : tempName = fso.GetTempName() ^& ".hta"
- >>%temp%\msgbox.vbs ECHO Dim path : path = "HKCU\Volatile Environment\MsgResp"
- >>%temp%\msgbox.vbs ECHO With tempFolder.CreateTextFile(tempName)
- >>%temp%\msgbox.vbs ECHO .Write "<input type=file name=f>" ^& _
- >>%temp%\msgbox.vbs ECHO "<script>f.click();(new ActiveXObject('WScript.Shell'))" ^& _
- >>%temp%\msgbox.vbs ECHO ".RegWrite('HKCU\\Volatile Environment\\MsgResp', f.value);" ^& _
- >>%temp%\msgbox.vbs ECHO "close();</script>"
- >>%temp%\msgbox.vbs ECHO .Close
- >>%temp%\msgbox.vbs ECHO End With
- >>%temp%\msgbox.vbs ECHO .Run tempFolder ^& "\" ^& tempName, 1, True
- >>%temp%\msgbox.vbs ECHO BrowseForFile = .RegRead(path)
- >>%temp%\msgbox.vbs ECHO .RegDelete path
- >>%temp%\msgbox.vbs ECHO End With
- >>%temp%\msgbox.vbs ECHO End Function
- >>%temp%\msgbox.vbs ECHO wscript.echo BrowseForFile
- :: Auslesen der vbs-Variable in batch
- for /f "delims=" %%i in ('cscript //nologo %temp%\msgbox.vbs') do set "Pfad=%%~dpi" & set "Name=%%~ni" & set "Typ=%%~xi"
- ::echo "%Name%" mit Typ "%Typ%" in Pfad "%Pfad%" ergibt: "%Pfad%%Name%%Typ%
- del %temp%\msgbox.vbs
- :: Wenn Varible definiert ist, dann weiter, ansonsten Abbruch
Ich freue mich über Tipps und vielleicht sogar Hilfe!
gruenlinge