Windows批处理文件启动带有按钮的gui
我如何创建一个包含多个按钮的窗口,在单击按钮时不会消失。我想做一个简单的窗口框,里面有可以打开程序的按钮。我一直在为我的gui使用WBox.exe,但是当你按下任何按钮时,它会在程序启动之前关闭窗口。Windows批处理文件启动带有按钮的gui,windows,user-interface,batch-file,button,menu,Windows,User Interface,Batch File,Button,Menu,我如何创建一个包含多个按钮的窗口,在单击按钮时不会消失。我想做一个简单的窗口框,里面有可以打开程序的按钮。我一直在为我的gui使用WBox.exe,但是当你按下任何按钮时,它会在程序启动之前关闭窗口。 HTML在我脑海中闪过,但我不知道如何制作按钮,甚至不知道它是否可以在单击时启动程序。您可以通过批处理HTA混合文件以一种相对简单的方式来实现这一点;这是一个例子: <!-- :: Batch section @echo off setlocal echo Select an option
HTML在我脑海中闪过,但我不知道如何制作按钮,甚至不知道它是否可以在单击时启动程序。您可以通过批处理HTA混合文件以一种相对简单的方式来实现这一点;这是一个例子:
<!-- :: Batch section
@echo off
setlocal
echo Select an option:
for /F "delims=" %%a in ('mshta.exe "%~F0"') do set "HTAreply=%%a"
echo End of HTA window, reply: "%HTAreply%"
goto :EOF
-->
<HTML>
<HEAD>
<HTA:APPLICATION SCROLL="no" SYSMENU="no" >
<TITLE>HTA Buttons</TITLE>
<SCRIPT language="JavaScript">
window.resizeTo(374,100);
function closeHTA(reply){
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.GetStandardStream(1).WriteLine(reply);
window.close();
}
</SCRIPT>
</HEAD>
<BODY>
<button onclick="closeHTA(1);">First option</button>
<button onclick="closeHTA(2);">Second option</button>
<button onclick="closeHTA(3);">Third option</button>
</BODY>
</HTML>
HTA按钮
窗口。resizeTo(374100);
功能关闭(回复){
var fso=新的ActiveXObject(“Scripting.FileSystemObject”);
fso.GetStandardStream(1).WriteLine(回复);
window.close();
}
第一选择
第二种选择
第三种选择
将此代码保存在扩展名为.BAT的文件中。也许您需要调整
window.resizeTo(374100)中的值代码>行以匹配屏幕的分辨率。这个例子非常简单,所以即使您对.HTA文件一无所知,也可以理解它。有关此问题的更多详细信息和链接,请参阅。您可以使用
这是我唯一一次就带有[batch file]标记的问题推荐PowerShell。我如何使用PowerShell?它是什么?如果你需要一个GUI,并且想在一些脚本环境中使用它,那么它确实是一个可行的选择。它提供对.NET framework的访问,包括。写一篇评论可能是另一种选择。@ZombieWaffles-有很多方法,太多的信息无法放在评论中,甚至无法给出答案。PowerShell基本上是一个替换命令行环境,Microsoft正在大力推动替换batch(尽管我发现batch很好,除非您想使用GUI或涉及不小于2^32整数的数字的数学)。谷歌“在PowerShell中制作GUI”,并与您找到的教程一起玩。非常感谢您,这超出了我的期望:DD@Aacini在上面的代码中,您是否可以抑制cmd窗口并仅显示下面的.hta?@ImNotLeet:&goto:EOF
并通过exit
@Aacini更改原始的goto:EOF
。您可以在开始使用hta零件之前添加批次吗?太棒了。谢谢为什么使用“window.close();”?当删除它时,当html窗口未关闭时,脚本不会给出任何输出。
@echo off
::call radioButtons.bat "one" "two" "three"
for /f "tokens=* delims=" %%# in ('
radioButtons.bat "one" "two" "three"
') do (
set "selected=%%#"
)
echo selected button number: %selected%