Hallo nochmal! Wenn's interessiert, hier eine kleine Applikation, die von der Wertübergabe Gebrauch macht. Die REG-Datei fügt dem Kontextmenü von .js-Dateien (geht natürlich auch mit .vbs) den Menüpunkt "Erweitert ..." hinzu. Damit kommt man zu einem kleinen HTA-Fenster, mit dem man das betreffende Skript ausführen oder anzeigen/bearbeiten kann. Es ist auch möglich (darum das Ganze), das Skript mit Argumenten zu füttern, die man bequem in ein INPUT-Feld eingeben kann. Auf diese Weise spart man sich den lästigen Umweg über die Konsole.
Das Ganze ist fixfertig zu gebrauchen, nur die REG-Datei müßte natürlich an den Pfad der HTA auf der eigenen Festplatte angepaßt werden. Möglicherweise lautet unter Windows XP auch der HKCR-Eintrag für .js-Dateien ("JSFile") anders? Mit den alten Windows-Heim-Betriebssystemen sollte es auf jeden Fall so, wie es ist, funktionieren.
----- speichern als xyz.reg und ausführen ---------------------------
REGEDIT4
[HKEY_CLASSES_ROOT\JSFile\Shell\htaopen]
@="Erweitert ..."
[HKEY_CLASSES_ROOT\JSFile\Shell\htaopen\command]
@="mshta.exe "C:\...Pfad...\fks.hta" ?"%1""
---------------------------------------------------------------------
----- speichern als fks.hta -----------------------------------------
<html>
<head>
<HTA:APPLICATION ID="fk_hta"
APPLICATIONNAME="Skript"
BORDER="thin"
BORDERSTYLE="normal"
CAPTION="yes"
CONTEXTMENU="no"
MAXIMIZEBUTTON="no"
MINIMIZEBUTTON="yes"
SCROLL="no"
SELECTION="no"
SHOWINTASKBAR="yes"
SINGLEINSTANCE="no"
SYSMENU="yes"
WINDOWSTATE="normal"
>
<!-- Fischer hats gemacht -->
<script type="text/javascript">
window.resizeTo(400,200);
window.moveTo(Math.floor((screen.availWidth-400)/2),Math.floor((screen.availHeight-200)/2));
var param=fk_hta.commandLine;
if (param.indexOf("?")>-1) param=param.substring(param.lastIndexOf("?")+1,param.length);
else { alert("HTA-Parameter fehlt!"); window.close(); }
</script>
<title>Skript</title>
<style type="text/css">
body { font-family:"News Gothic MT",sans-serif; cursor:default; font-size:11pt;
color:#D0D0D0; background-color:#0000FF; padding-top:10px; padding-left:10px; }
button { height:30px; width:100px; margin-right:18px; }
button.go { color:#000000; background-color:#D0D0D0; }
</style>
<script type="text/jscript" language="JScript">
var shell=new ActiveXObject("WScript.Shell");
function mach() { shell.Run(param+document.Formular.Text.value); }
function anzeige() { shell.Run(shell.ExpandEnvironmentStrings("%windir%")+"\Notepad.exe "+param); }
</script>
</head>
<body>
<script type="text/javascript">
function reset() { document.Formular.Text.value=""""; }
var text=param.toLowerCase().replace(/"/g,"");
text=text.substring(text.lastIndexOf("\")+1,text.length);
document.write("<p>Skriptdatei: "+text+"</p>");
</script>
<p><button type="button" class="go" onClick="mach()">Ausführen</button>
<button type="button" onClick="anzeige()">Anzeigen</button>
<button type="button" onClick="window.close()" style="margin-right:0px;">Schließen</button></p>
<form name="Formular" action=""><span style="margin-right:15px;" onClick="reset()"
title="Zurücksetzen">Parameter:</span><input name="Text" type="text" size="33"
value=""""></form>
</body>
</html>
---------------------------------------------------------------------
Vielleicht hat ja jemand Freude dran!
Liebe Grüße,
Fischer