Windows批处理文件使用按钮启动gui

时间:2016-01-19 01:23:52

标签: windows user-interface batch-file button menu

如何创建一个带有多个按钮的窗口,在这些按钮中不会点击它们。我正在尝试使用可以打开程序的按钮创建一个简单的Windowed Box。我一直在使用WBox.exe作为我的gui,但是当你按下任何按钮时它会在程序启动之前关闭窗口。 HTML克服了我的想法,但我不知道如何制作按钮,甚至不知道它是否可以点击启动程序。

2 个答案:

答案 0 :(得分:10)

您可以通过Batch-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>

将此代码保存在扩展名为.BAT的文件中。您可能需要调整window.resizeTo(374,100);行中的值以匹配屏幕的分辨率。这个例子很简单,即使你对.HTA文件一无所知,你也可以理解它。有关此问题的更多详细信息和链接,请参阅this post

答案 1 :(得分:0)

您可以使用radioButtons.bat

动态设置按钮的数量
@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%