web-dev-qa-db-ja.com

Windowsバッチファイルは、ボタン付きのGUIを起動します

複数のボタンを備えたウィンドウを作成し、ボタンをクリックすることで離れないようにする方法を教えてください。プログラムを開くことができるボタンを備えたシンプルなウィンドウボックスを作成しようとしています。私はGUIにWBox.exeを使用していますが、ボタンを押すとプログラムが起動する前にウィンドウが閉じます。 HTMLが気になりましたが、ボタンの作成方法や、クリックでプログラムを起動できるかどうかさえわかりません。

7
Zombie Waffles

Batch-HTAhybrid file;を介して比較的簡単な方法でそれを行うことができます。これは例です:

_<!-- :: 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ファイルについて何も知らなくても理解できます。この問題の詳細とリンクについては、 この投稿 を参照してください。

15
Aacini

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%
1
npocmaka