Meldung bei Batch gross darstellen
Hallo Leude,
habe schon in einem anderen Post angefangen bzgl. einer Mapping-Batch. da es ein etwas anderes Tehma ist ein neuer Post:
Wenn ich eine Meldung gross auf dem Desktop erscheinen lassen will, während die Batch gerade ausgeführt wird, was gerade passiert, wie mach ich das?
Also die Meldung an sich in die Batch zu schreiben ist ja kein Problem, die erscheint in dem Eingabefenster und ist natürlich recht klein.
Wie funktioniert das, wenn ich in der Mitte des Bildschirm ca. eine grau hinterlegte Meldung aufscheinen lassen will in einer grösseren Schriftart, wie funktioniert das?
Zur Info OS ist noch Windows XP.
Freu mich auf Eure Tips.
Greetz
Der Lehrling
habe schon in einem anderen Post angefangen bzgl. einer Mapping-Batch. da es ein etwas anderes Tehma ist ein neuer Post:
Wenn ich eine Meldung gross auf dem Desktop erscheinen lassen will, während die Batch gerade ausgeführt wird, was gerade passiert, wie mach ich das?
Also die Meldung an sich in die Batch zu schreiben ist ja kein Problem, die erscheint in dem Eingabefenster und ist natürlich recht klein.
Wie funktioniert das, wenn ich in der Mitte des Bildschirm ca. eine grau hinterlegte Meldung aufscheinen lassen will in einer grösseren Schriftart, wie funktioniert das?
Zur Info OS ist noch Windows XP.
Freu mich auf Eure Tips.
Greetz
Der Lehrling
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 207902
Url: https://administrator.de/contentid/207902
Ausgedruckt am: 22.11.2024 um 05:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo lehrling24,
das Consolefenster in Verbindung mit irgendwelchen Popups ist immer etwas befremdlich und eher Spielerei als wirklich sinnvoll. Das Interface bei Batch ist nun mal die Console und reicht für gewöhnlich.
Mit Batch pur ist da sowieso nix zu machen. Du kannst mit einem temporären VBScript und der MsgBox Funktion arbeiten. Aber das erfüllt ja immer noch nicht deine Vorstellungen von einer "großen Darstellung mittig auf dem Desktop", vermulich auch noch schön auffällig in Farbe und bunt
So etwas kannst du nur selbst bauen. Bspw. könntest du HTA einbinden. Funktioniert etwa so:
*.bat
Grüße
rubberman
das Consolefenster in Verbindung mit irgendwelchen Popups ist immer etwas befremdlich und eher Spielerei als wirklich sinnvoll. Das Interface bei Batch ist nun mal die Console und reicht für gewöhnlich.
Mit Batch pur ist da sowieso nix zu machen. Du kannst mit einem temporären VBScript und der MsgBox Funktion arbeiten. Aber das erfüllt ja immer noch nicht deine Vorstellungen von einer "großen Darstellung mittig auf dem Desktop", vermulich auch noch schön auffällig in Farbe und bunt
So etwas kannst du nur selbst bauen. Bspw. könntest du HTA einbinden. Funktioniert etwa so:
*.bat
@echo off &setlocal
:: diese Variablen werden im HTA Code expandiert und verwendet
set /a "msg_width = 500, msg_height = 200"
set "msg_html=ACHTUNG<br>Gaaanz wichtige Meldung!"
set "msg=%temp%\tmp.hta"
:: alle Zeilen beginnend mit min. 6 Spaces werden in die HTA Datei umgeleitet
>"%msg%" (type "%~f0"|findstr /bc:" ")
:: HTA aufrufen
mshta "%msg%"
:: HTA löschen
del "%msg%"
echo Meldung wurde beendet.
pause
goto :eof
:: End Of Batch
<html>
<head>
<title>Message</title>
<hta:application border="thin" caption="no" contextmenu="no" innerborder="no" navigable="no" scroll="no" selection="no" showintaskbar="no" singleinstance="yes" sysmenu="no">
<style type="text/css">
body {margin:10px 10px 10px 10px; text-align:center; background-color:#ee3333;}
div {padding:20px 20px 20px 20px; background-color:#eeeeee; font:bold 32px arial; text-align:center;}
input {margin:5px 5px 5px 5px; background-color:888888; font:bold 16px arial; text-align:center; height:30px; width:50px;}
</style>
<script type="text/javascript">
var oWSH=new ActiveXObject("WScript.Shell");
var w=parseInt(oWSH.ExpandEnvironmentStrings("%msg_width%"));
var h=parseInt(oWSH.ExpandEnvironmentStrings("%msg_height%"));
var s=oWSH.ExpandEnvironmentStrings("%msg_html%");
window.resizeTo(w, h);
window.moveTo(screen.width/2-w/2, screen.height/2-h/2);
function start() {
text.style.width = w - 20;
text.style.height = h - 50;
text.innerHTML = s;
}
function quit() {
window.close();
}
function enter() {
if (window.event.keyCode==13) quit();
}
</script>
</head>
<body onload="start()" onkeypress="enter()">
<div id="text"></div>
<input type="button" value="OK" onclick="quit()">
</body>
</html>
Grüße
rubberman