- ベストアンサー
HTAで、こんなボタンが作りたい。
HTA(HTML Applications)で簡単な操作パネル的なものを作ろうと思っています。 イメージしているものは、 ・『開始』ボタンを押下で外部ファイルa.vbsを実行し、ボタン上部のス ペースに『稼動中』と表示。 ・『停止』ボタンを押下で外部ファイルb.vbsを実行し、ボタン上部のス ペースに『非稼動中』と表示。 ・ボタンは1つで、始めは『開始』ボタンのみ。 『開始』を押下すると『停止』に変わる。 という感じです。 ボタン2つで片方をdisableでグレーアウトさせる、でも良いかと思っています。 アドバイス等有りましたらお願い致します。贅沢を言わさせていただくと、具体的なコードと簡単で構わないので解説して頂けたら幸いです。 OS:Windows98
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
私も勉強がてら作ってみました。Windows XP SP2で確認しました。 ----- <HTML> <HTA:APPLICATION ID="oHTA" APPLICATIONNAME="easyPanel" SCROLL="no" INNERBORDER="no" MAXIMIZEBUTTON="no" MINIMIZEBUTTON="no" SINGLEINSTANCE="yes" /> <HEAD> <TITLE>easyPanel</TITLE> <STYLE> <!-- BODY { background-color: buttonface; } --> </STYLE> <SCRIPT> var Wsh = new ActiveXObject("WScript.Shell"); // ボタンが押された function buttonRun(){ if (window.form1.button1.value == "開始"){ form1.button1.value = "停止"; document.getElementById("label1").innerHTML = "稼動中"; Wsh.Popup ("a.vbs"); //Wsh.Run ("a.vbs"); } else{ form1.button1.value = "開始"; document.getElementById("label1").innerHTML = "非稼動中"; Wsh.Popup ("b.vbs"); //Wsh.Run("b.vbs"); } } // フォームがロードされた function Window_onLoad(){ window.resizeTo(150,120); // 好みで変更して下さい window.moveTo(0,0); } </SCRIPT> </HEAD> <BODY onLoad="Window_onLoad()"> <SPAN id="label1" >非稼動中</SPAN> <FORM name="form1"> <INPUT type="button" name="button1" value="開始" onClick="buttonRun()"> </FORM> </BODY></HTML> -----
その他の回答 (1)
- Bonjin
- ベストアンサー率43% (418/971)
とりあえずサンプルコード(解説無し)。 具体的に何がわからないのか書くと回答は得やすいです。 <html> <head> <script type="text/javascript"> var shell = new ActiveXObject("WScript.Shell"); function startProcess(){ shell.run("a.vbs"); state.innerText = "稼働中"; start_button.style.display = "none"; stop_button.style.display = "inline"; } function stopProcess(){ shell.run("b.vbs"); state.innerText = "非稼働中"; start_button.style.display = "inline"; stop_button.style.display = "none"; } </script> </head> <body> <div id="state">非稼働中</div> <input type="button" id="start_button" onclick="startProcess();" value="開始" /> <input type="button" id="stop_button" onclick="stopProcess();" value="停止" style="display:none;" /> </body> </html>