18
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

hta TIPS & メモ

Posted at

hta(HTML Applications)を調査た時のメモ。サンプルソースはコピーして拡張子 .hta で保存してください。
注意:htaはHTMLで記述されていますが、名前が示す通りアプリケーションとして動かす事が出来ます。問題が出ないよう注意を払って作成したつもりですがOS、IEのバージョンの違いにより作者が意図しない動きをする可能性があります。エラー処理等も入れていないのでソースを読んで理解出来ない方は実行を控えてください、スクリプト実行により何か問題が発生しても自己責任でお願いします。問題があるスクリプトを発見された方は連絡頂けると助かります。
ここに記載されたスクリプト類は、Windows7(64bit) IE11 で動作確認しています。

#VBscriptでOnClick
イベントに応じてスクリプトを実行する方法がVBScriptでは色々な書き方ができるようなのでまとめてみた。

vb_sample.hta
<html>
<head>
 <title>VBscriptでOnClick</title>
</title>
<body>
  <input type="button" name="button1" value="ボタン1">sub button1_onClick</br>
  <input type="button" name="button2" value="ボタン2" onClick="button2()">onClick="button2()"</br>
  <input type="button" name="button3" value="ボタン3" onClick="VBScript:button3">onClick="VBScript:button3"</br>
  <input type="button" name="button4" value="ボタン4">&ltSCRIPT FOR="button4"...</br>
  <SCRIPT FOR="button4" EVENT="onClick" LANGUAGE="VBScript">
    MsgBox "ボタン4"
  </SCRIPT>

<script language="VBScript">
  sub button1_onClick
    MsgBox "ボタン1"
  End sub

  sub button2
    MsgBox "ボタン2"
  End Sub

  sub button3
    MsgBox "ボタン3"
  End Sub

</script>
</body>
</html>

#画像をhtaに組み込む
htaを1ファイルで提供したいが画像等も組み込んで見た目を整えたい場合、画像ファイルをhtmlファイルに含める事が出来ます。これは、htaに限ったTIPSでは無くhtmlでも同様のことが実現できます。なので、次のサンプルはhtmlで保存しても画像が表示されます。

 方法:
 <img src="data:コンテンツタイプ;base64,base64でエンコードされた画像ファイルの文字列>
 コンテンツタイプは画像ファイルの種類によりpng画像(image/png),jpeg画像(image/jpeg)を設定する。
 画像が png画像でbase64でエンコードした文字列が"iVBORw・・(省略)・・gg=="の場合
 <img src="data:image/png;base64,iVBORw・・(省略)・・gg==">
 となる

sample.pngこの画像をbase64でエンコードして組み込んだサンプル

sample_img.html
<html>
<head><title>画像埋め込みのサンプル</title></head>
<body>
 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAIAAACRuyQOAAAABnRSTlMAAAAAAABupgeRAAAA30lEQVR42uWWWQqAMAxE0/sfugoBic02aVUK5kPQDnldxqSt906fRPsbqTVK54Fo9iOdTw6thDF30pVxiMVFQ2uKc1UwW5G8jEWMRRpOix1hkqSmTNJJTePxR2klAHb3Hngk8auTCiPFYIQ9Q0IMkpD0AcyRnBlbLtf2S0lEUdFySe/Ev0jZvo8yGagjzFwsS/8EX1DZvasxTlX3YndfaCLL9whY+QQJM4XVn6plm6DLTJFEUIkzR7NOGMCKjgdI03voktZ7brixftdA1qpH5bU3J0keB1ixQv0OtfzpOAA1ihzKRC0hlQAAAABJRU5ErkJggg==">
</body>
</html>

##base64変換手順:画像ファイルをBase64でエンコードする

###Windows certutilコマンドを使う方法(c:\windows\system32\certutil.exe)

 >certutil -f -encode sample.png sample.base64.txt
 >notepad sample.base64.txt
 -----BEGIN CERTIFICATE-----
 iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAIAAACRuyQOAAAABnRSTlMAAAAAAABu
 pgeRAAAA30lEQVR42uWWWQqAMAxE0/sfugoBic02aVUK5kPQDnldxqSt906fRPsb
 qTVK54Fo9iOdTw6thDF30pVxiMVFQ2uKc1UwW5G8jEWMRRpOix1hkqSmTNJJTePx
 R2klAHb3Hngk8auTCiPFYIQ9Q0IMkpD0AcyRnBlbLtf2S0lEUdFySe/Ev0jZvo8y
 GagjzFwsS/8EX1DZvasxTlX3YndfaCLL9whY+QQJM4XVn6plm6DLTJFEUIkzR7NO
 GMCKjgdI03voktZ7brixftdA1qpH5bU3J0keB1ixQv0OtfzpOAA1ihzKRC0hlQAA
 AABJRU5ErkJggg==
 -----END CERTIFICATE-----
 
 最初と最後の行を削除し、1行の文字列にし、src= に記述します。
 CertUtil: -? でコマンドヘルプが出ます。

###linux base64コマンドを使う

 $ base64 sample.png > sample.base64.txt
 $ cat sample.base64.txt
 iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAIAAACRuyQOAAAABnRSTlMAAAAAAABupgeRAAAA30lE
 QVR42uWWWQqAMAxE0/sfugoBic02aVUK5kPQDnldxqSt906fRPsbqTVK54Fo9iOdTw6thDF30pVx
 iMVFQ2uKc1UwW5G8jEWMRRpOix1hkqSmTNJJTePxR2klAHb3Hngk8auTCiPFYIQ9Q0IMkpD0AcyR
 nBlbLtf2S0lEUdFySe/Ev0jZvo8yGagjzFwsS/8EX1DZvasxTlX3YndfaCLL9whY+QQJM4XVn6pl
 m6DLTJFEUIkzR7NOGMCKjgdI03voktZ7brixftdA1qpH5bU3J0keB1ixQv0OtfzpOAA1ihzKRC0h
 lQAAAABJRU5ErkJggg==
 
 途中改行を削除しSRCに設定する。
 base64 --help でコマンドヘルプが出ます。

###ネットのサービスを使う
画像 base64で検索すると、変換サイトが表示されます。適当なサイトを選んで画像ファイルをuploadするとbase64を表示してくれます。ファイルサイズの制限などサービス提供先の制限を確認して実行してください。仕事で使う場合は前述のコマンドでbase64を作成した方が問題が発生する可能性が低いです。

##注意
・IE 9以降 (4GBまで)
・IE 8 (32KBまで)
・IE 7 は未対応
の制限があるようです。(未確認)
htmlで利用する場合もブラウザにより制限があるらしいです。上記サンプルhtmlは
*fireFox(38.0.5)
*Chrome(43.0.2357.81 m)
*IE(11.0.9600.17801)
では画像が表示されています。(2015/6/8最新)

#JQueryのBlockUIを使わずに、しばらくお待ちください画面を作る
htaでもJQuerは使えるが、外部ファイルにするとhtaファイルのみで動かなくなる。ソースに取り込むとソースが読み難くなる。
”しばらくお待ちください”を出す為だけにJQueryを取り込みたくないので display:none/block(表示)を切り替えてそれっぽくするサンプル。ポイントは、
CSSのrgba()関数で背景色を半透明にするのと、positionで表示位置を指定するところかな
このサンプルでは、背景のinputエリアに細工していないので、タブ移動で後ろに隠れているボタンにフォーカスが移動する。動作を抑止したい場合はも少しjavascriptを追加する必要がある。

samplw_wait.hta
<html>
  <head>
    <title>実行中 wait画面のサンプル</title>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" Content="IE=edge">
    <style type="text/css">
    #waitTAG {
     position:absolute;
     left:8px; 
     top:8px;
     width:550px;
     height:150px;
     background-color:rgba(220,220,220,0.5);
     z-index:1;
     margin:0px;border:0px;
     display: none;
    }
    #waitBox {
     position:absolute;
     left:150px; 
     top:10px;
     width:200px;
     height:100px;
     background-color: white;
     text-align:center;
     z-index:2;
     border:5px solid #808080;
     padding: 20px 0 0 0;
    }
  </style>

  </head>
  <body onLoad="initLoad();">
  <!-- MAIN FORM -->
  <form id="form1">
     入力ファイル:<input type="file" ><br>
     出力ファイル:<input type="text" ><br>
     <input type=button value="実行中画面表示" onClick="showWait();">
  </form>
  <!-- MAIN FORM END -->

  <!-- WAIT DISPLAY -->
  <!-- 変換実行時のメッセージ dhisplay:none ⇒ display: で切り替える -->
  <div id="waitTAG">
    <div id="waitBox" >しばらくお待ちください...<br>
      <img src="data:image/gif;base64,R0lGODlhKAAoAMYAAP///+v1+8zm9sjk9cDg8/r8/tzu+dPq98/n9tPp98Ti9Of0+9js+Pf7/t/v+cvl9fH4/L3e8pXL66nU7vj7/uPx+srl9dDo9ufz+9vt+Nbr95vO7K/Y8KLR7qnV773f877f8mq24lWs3snl9Wm24nW85HS75PP5/W234kum3I/I6ej0+7DY8KXT7qTS7WKy4bve8ne85Xi95fH5/Xq+5YjE6PL5/JPK6ojF6Lvd8VWr3l+w4CuX1mCx4G+440Ch2nC54zed2LLZ8E6p3b/g80un3Lbb8Y7H6Wy24jid2Hq95U6o3TWc2Fuv34fE6Fit3pTL6uTy+ufz+p/Q7USj21es3kyn3Gy34lqu38zm9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgBaACwAAAAAKAAoAAAH/oAAgoOEhYMBAgMBhoyNjoYDBAQCj5WGBQYGBYWSkoWYmpaGB5IInJ2FCJIJooUKnQuEnQSEC50KrYQMnQObgrODBZGSDLmDDbMOg8CCDrMNxoPOkgrQAMzIncrRggWvxILDD4K7kr2WBQIEDNaCttSCAQ+Kgt8EsYMQERITFIQVyXwBUEXAFCOCBgFQsCChoYQL/2YRUIChG4MMAj9lYOBLwwaHDSEGIzgLQUZLFDiAbMiB0YJhnSoYu7CygwZHBaZJkpmLZsMNFvxVarDrwclKFDxI+ACBm9OnUB0hkkiAnlMQIURo3RpiBEyJlJyS2EpWRImvs8aJLbvVhDyq8Va5gRhblsSIqHjzciM66eijEyhSqFiBTicBnq1YpFicosUJRy8lIhblgvHiFzAukexk0tiJGJYXyygEcNYAfDNo1JjRyMYNHDYE5dARmkVEbQJ38ODRo5GPHz+ADDpRmbHtYA/WtQPAYTePIIKEDBlCRFAR4D+MEFpxJAWSx5VmJHGuRNASJkyaCHKC/Ulsp1CcB4kiCD16QVKw/5jiNIpzHlAMYh8Tg0yhnxTcKOEcFazVZ98gNlSBnRPcBOFcSwI+OIgR2FnBzRW77VDIgIX89gMN3MzghBMNZngfIa5N8Z5e5zGBhV6VCLEEFllwEwgAIfkECQoAXAAsAAAAACgAKACG////6/X7zOb2yOT1wODz+vz+3O750+r3z+f20+n3xOL05/T72Oz49/v+3+/5y+X14/H65/P72+341uv3otHtlcvr3e74otHuqdTuqdXv5PL6er7lK5fWUqrd8fn99Pr9dbzkVazelcvq6fT7odHttNrwqtXur9jwRaTbqtXvarbiv+DzYLHgX7Dgf8Hmf8DmRKPb8fj8gcLnjsjp8/n9mc3rj8jpvt/yX7DflMvqZrThNZzYZ7Xid7zlS6bceL3ler3lstnwQaLbttvxWK3ew+L0Vaveu93xdLvkQqPbgMHnV6zeQKHaZLPhjsfpYrLh5fL66PT7pNLtTqjdYbHgVqzec7rkgsHmjcfpmc3sY7Phzuf2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/6AAIKDhIWDAQIDAYaMjY6GAwQEAo+VhgUGBgWFkpKFmJqWhgeSCJydhQiSCaKFCp0LhJ0EhAudCq2EDJ0Dm4KzgwWRkgy5gw2zDoPAgg6zDcaDzpIK0ADMyJ3K0YIFr8SCww+Cu5K9lgUCBAzWgrbUggEPioLfBLHHuwK+ghDJ/KoImGIUcCCAAtMkQSDkb5aCCN0YSOD3SQIDXwvsKSRUIOAsBBTReexksNawTgtzNeSFjxHCWSlbrVTgICSjBrse2HxU4MG6dtyCCh1qCNEsc4uCTqBQoalTChZOHqUU9ILTqxUwSJ01ripWpxnkHSVAT6lVrBcsEF3LlpuGDfYcOngw9gFECBEjLHmowKEvBxLGSoQYHMLEB0cnUPjtCzhXCsKDVaww5IHF4r4t5ub64ALy4BeFSFyGcUJQDBkzYjSiUcMGDUE3cHguQUi03xyaAejYsYNHox4+fPwY9OExYdqDPHTgAEQDoSC8dwgRNIQIkSKCjAT3cYTQiBwhkByuFCNJdCWCljBh0kSQk+1PXgetEV0IFEHr1wuKst2HlKBQRLdDDYPkx8QgUvQXBTdKRDeFavjlNwgNVGznBDdCRBcEIQYScsR2VXBjBW86FNIhIcD5cAU3MWCBBYQFSkgIDVlIIV9b6jGhRVuVDLGEFltwEwgAIfkECQoAWgAsAAAAACgAKACG////6/X7zOb2yOT1wODz+vz+3O750+r3z+f20+n3xOL05/T72Oz49/v+3+/5y+X14/H65/P72+34vN7yUqrdK5fWRaTbRKPb5fL6gcLnNZzYW6/f8fj8+Pv+qdTulcvrvd7yms7sptPu0Oj2yuX1stnwTqndotHt1+z4Z7XiZrThr9jwTqjd8vn8iMXok8rq9Pr9oNHtlcvq1uv3m87smc3rb7jjQKHacLnjf8HmVazef8DmWq7fgMHnttvxS6fcu93xYrLhxuP0X7Dfvt/yvd/zqdXvTKfch8ToYbHgS6bcbbfilMvqarbin9Dt5/P66fT7qtXvV6zeabbiX7Hger7licXon9DsbLbi0ej2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/6AAIKDhIWDAQIDAYaMjY6GAwQEAo+VhgUGBgWFkpKFmJqWhgeSCJydhQiSCaKFCp0LhJ0EhAudCq2EDJ0Dm4KzgwWRkgy5gw2zDoPAgg6zDcaDzpIK0ADMyJ3K0YIFr8SCww+Cu5K9lgUCBAzWgrbUggEPioLfBLHHuwK+ghDJ/KoImGIUcCCAAtMkQSDkb5aCCN0YSOD3SQIDXwvsKSRUIOAsBBTReexksNawTgtzNeSFjxHCWSlbrVTgICSjBrse2HxU4MG6dtyCCh1qaAKFCkiTWpggdMFJXgEuJJ1agYLQp7MESKWK1GpQrJ0eGOV6gWlQp7PMLSLKtm00DPUZNGzgYKyDhw8g6FbiEEKDXw0ijI34QPgDiQ6OSpj46zdwLhKFCZ9AYYhDCsZ+Veht1WFFZMIrConAzKKEoBYuXrRoBCOGDBiCZtD4PILQ6L81Ntu4cQNHoxw6dOwY1AFy4dqDOPDQ0AMDIR+8b/wQBCRIECGChgTXQYQQhyIfjCCu1OJIdCSCkihRskQQk+1NYAd1Ev3HE0Hr1wuCsl1HlKBPRHeDE4Pkp8QgUfQHBTdIRCfFavjlNwgMU2zHBDc/ROcDIQYSQsR2VHBTBW82FNIhIcDpYAU3LbygmokSEgLDFVHI55Z6SmDhViVAJIFFFtwEAgAh+QQJCgBYACwAAAAAKAAoAIb////r9fvM5vbI5PXA4PP6/P7c7vnT6vfP5/bT6ffE4vTn9PvY7Pj3+/7f7/nL5fXx+f1Sqt0rl9Z6vuXk8vqh0e2Vy+vj8fo4ndiw2PDb7fhfsOBgseCv2PBEo9uUy+p6veW/4PNbr981nNhOqd1OqN1art/n8/qIxehAodpks+Hy+fyf0Oyr1u+22/FYrd7n8/twueNvuONXrN7z+f2PyOmZzev4+/7D4vS93vKf0O13vOVLptx4veVjs+GHxOi73fFVq96+3/JqtuLJ5fWbzuzW6/dWrN6Ox+lptuJVrN51vOS93/Oi0e2k0u3o9Pvx+PzK5fVhseCi0e6CweaZzex0u+TU6vcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/oAAgoOEhYMBAgMBhoyNjoYDBAQCj5WGBQYGBYWSkoWYmpaGB5IInJ2FCJIJooUKnQuEnQSEC50KrYQMnQObgrODBZGSDLmDDbMOg8CCDrMNxoPOkgrQAMzIncrRggWvxILDD4K7kr2WEBESExS1t4IBD4qC3wSxx7sCvoIVEv4SFiAMUkXAFCOCBgEUmCbpAqF+/yRgyNCNgYZ9nzQw8LWgXkNCEDZE9MdBYK4CBGclJNTBw8gKxi7MIjDgHiMIHyLCzCWTmgOMjSiAkBDBZKsCDwgwsMatqdOnjEKIGEG1KokQThcMm6WoRNWvI0Q43TpTgFewVE2MndnpQQgT9GhLYG2qle08qHjzRjuBIoWKFcYKCFDK1NEKFikSp2gRMxlQQi5eKE7MOBdDczAMrYgxObEMwCdTdloJoEXnGS4E0ahhg0ajGzhy3BDUcabDQaYV6wANYAcPHj0adbBgoUOwy7cFrfCR4scJQkB+8wgiSMiQIUQEFSFuwQihBrsePDZE44h0JIKSKFGyRBAT7k1mN3UiPcgTQevXC4LC3UKUpk9Ix4MTg+SnxCBR9AcFN0hIJ4Vr+OU3yA1TcMcEN0FIBwQhBhJiBHdFcEPFbzsU0iFLxKUWDQ1VVAFhgRISAlsU8umlnhJW6FWJEElYcQU3gQAAIfkECQoAWwAsAAAAACgAKACG////6/X7zOb2yOT1wODz8fn9iMTo+vz+3O75bLfiK5fWYLHgz+f20+n3N53Yr9jw5/T7xOL0er3lRaTb2Oz45PL6lMvq3+/59/v+OJ3Yy+X18fj8W6/fNZzYgcLn5fL6ptPums7sX7Dg4/H6QqPbs9rwh8To2+34ZrThZ7XistnwTqjdmc3rgMHnWq7fw+L0ZLPhQKHaWK3eV6zeY7Ph6PT7j8jpS6bcbbfi8/n9pdPusNjwu93xYrLh5/P7eL3ld7zlYbHg9Pr9lcvqoNHtpNLtf8HmVazef8DmbLbijsfpvt/yX7Df1uv3otHt3e74X7HgotHulcvrqdTuqtXv6fT7abbiicXo0+r3n9DsqdXvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/6AAIKDhIWDAQIDAYaMjY6GAwQEAo+VhgUGBgWFkpKFBwgIB5aGCQoKC5ydhQySDaSFDqcKD4SdBIQQnRGwhBKzE5uCt4MHkZIUvYMVswoWg8SCF7cYyoMWsxkVw6sAGLcX1oMFsqcSgscaghSdA6OVGxwdHh+ED9mCARqKghGdEIQwsBPwThCIDgg7hNgwSMQpEY1aEWBQbFqnEYQOJuxAooSgAhJMCDN04ASFdxD83cI4aAOKjQhTMOx1QOItioZUrIAJQtmIWwQGAGy0gcXGnr1+SopwoaCjDy06uJgJ64AGAhSqidvKtWujFzBiiB0r4wVXCMduKZoxtm0MGPJc0wIVwNatWBpxgXbS8IKG3Rlmt6LVy8+r4cPWati4gSOHsgMCsGp9lEPHjcs3dvgE57QQjx6YL2vuZbGdD0M5foS+DMQxTZudcA7asToID0FChhAR0gjUSUEpgbIURBtzEdcAjBw5giSiJNkHShMYDiBHkhtKahBasvwIE0FNnDh50u9fQHYaOjMSAqX7MwBRpEiZsq6delhUujOpIki+fEHfdBKOOFV0dwQVg/gnxSDSTdaLBd1ZwVt//hWTVjLWMNHdEoQomMsu4lyxnBGFeEiIRFiII0QWWUyYYIWElNQUYoLEJ4UWND7SRBRabGNNIAAh+QQJCgBWACwAAAAAKAAoAIb///+83vJSqt1FpNtEo9srl9bx+PyOyOn6/P7c7vlzuuQ1nNhnteLP5/bA4PPT6fdBotuy2fDn9PvE4vSAwedOqd3I5PXY7Pjl8vqZzevf7/n3+/5Co9vy+fxks+FAodqIxejn8/rM5var1u+f0OxmtOHj8fpMp9y33PGNx+nb7fhvuONwueO22/FXrN6f0O2HxOhjs+HL5fXG4/Rtt+JLptxisuHr9fthseBstuLp9PuVy+pVrN51vOT0+v2q1e602vC+3/JqtuLn8/t/wOZ/weZptuL4+/693vLD4vSq1e+v2PCVy+t0u+SUy+rW6/ebzuy93/PK5fWi0e7T6vfv9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/oAAgoOEhYMBAgMBhoyNjoYEBQUCj5WGBgcHBoWSkoUICQkIloYKCwsMnJ2FDQ4OD6SFEKcLEYSdBYQSrg4TsYQUtBWbgriDCBa8F7+DGLQLGYPGghq8DhvMgxm0HBjFqwAb1hrZgwazpxSCkZOCF7wWo5UdHh8gIYQR3IKIBIsAE3hJILThnQh5gkZ8WPiBRIdBJU6VaNTKQYNj1XiZIKSQ4YcTKAQZoJCCmCEEKi7IkxDQ2sZBHVZ4XMji4S8EFa1dNNTCxcwRzExYc2BhYKMOLzwC/SXU1QQNCB2FgPEhhs1YCGQ4uICtnNevYBvNoFGjrFkbM75KSDbUwg0c7Gbj1qDxle1QByLgyi2bo+5dVzJm5NiLI63XtXfdhl3MuJyOHTx6+GCGQMTWro98/ODBmQeQoOOiFgoipDPnz78ywhtiyAcR05yLTL6Zk9fOQUBgGwki6AiSJEcagVIpiOXQl4Jyd1YyG8ASJkyWUHR1G4FqB8gB+GjCw4kOQk+gM4FS3IJigAIJvpMhmtERKOKjCGIrwh289rGkiIdCzJogcbyQU44B4jEhxSD+UWMNZr9EId4UwQmSIADIKFMOfNA9QciEAOziVDktQCfdhryw4goV5RyRBHCFcEihClA1Nh9gMj6ylgxVlBMIACH5BAkKAFQALAAAAAAoACgAhv///7/g81uv306p3U6o3TWc2PL5/JPK6vH5/YjE6Hq+5UCh2nC541+w4CuX1m2340un3Lbb8a/Y8Ded2IfE6Fit3kWk23q95efz+p/Q7ZTL6uTy+kyn3Fqu30Sj2/P5/W234kum3I/I6ej0+/f7/tjs+MDg88zm9vr8/rDY8KXT7m+449/v+ePx+las3rve8uf0+8Ti9He85Xi95c/n9rvd8WGx4Mjk9aTS7Y7H6Wy24svl9cnl9XW85FWs3mq24uv1+2m24nS75PH4/L3e8pXL66nU7vj7/srl9dDo9tbr96LR7efz+6LR7tzu+anV773f89Pq99vt+O/3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf+gACCg4SFgwECAwGGjI2OhgQFBQKPlYYGBwcGhZKShQgJCQiWhgoLCwycnYUNDg4PpIUQpwsRhJ0FhBKuDhOxhBS0FZuCuIMIFrwXv4MYtAsZg8aCGrwOG8yDGbQcGMWrABvWGtmDBrOnFIKRBR2CF7weo5UfICEiI4QR3IIBHQSLAEzgJYEQiRImTqAglCKEwxAqPgxacWpFo1YOGgxCwcKERxMtGD506OKFIAMUNDVCQOHCPBgxPnoMOeiDjJEOZ0j8hYKGTI80GNWwgTMFsxY/b8Bw9AHHSKO/kHqMwWJhpRE5QujYGQvFDhMlSJQbS7asIx49fKhd+4MHWRjsN36auAEkyNq7PnqQjSs3oV28aoXs7WtiBw8hgIO4HQtXLl2zkCOXG0KkiJEjzFCcACu20hEkRUIXSXJUZlVHSpaIDk36V0eZN5gYOiJhdWgJmHn6/BmUUBLbTZQIQlHCiVVDKJyUsArzJ01Bv0UjyQ1gd29D1je+nknoyJMiUIYQgvExhiC4jwHE9Lh00MHCxx2hWA9WEN8TghB6vBGf2fYYnckkCAmmjUXgRywMIqAg25nQGTP6zXXcggCgwFd92dDXniAUAkDeVOVEAVQhHVbnURTloCCFFP2VqOJpkgHA1w4xPgLXDlOUEwgAIfkECQoAVQAsAAAAACgAKACG////w+L0ZLPhWK3eV6zeQKHa8/n9mc3r8fj8jsjpgsHmS6bceL3lZrThNZzYdLvkVaveu93xstnwQaLbjsfpYrLhTqndgMHn6PT7pNLt5fL6VqzeY7PhTqjd9Pr9dbzkVazelcvq6fT75PL6er7lK5fWUqrd8fn9tNrwqtXud7zllcvrodHtX7Hgv+Dzmc3sjcfpr9jwOJ3Yf8Hmf8DmYLHgX7Dgvt/yabbiRKPbqtXvN53YlMvqer3l3e74qdTuotHt5/T7yOT1wODz6/X7otHuzOb2qdXvy+X19/v+2Oz4+vz+3+/54/H65/P7z+f23O75xOL00+r32+347/f8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/6AAIKDhIWDAQIDAYaMjY6GBAUFAo+VhgYHBwaFkpKFCAkJCJaGCgsLDJydhQ0ODg+khRCnCxGEnQWEEq4OE7GEFLQVm4K4gwgWvBe/gxi0CxmDxoIHvA4azIMZtBsYxasAGtYH2YMGs6cUgpEFHIIXvB2jlR4fICEihBHcggEcBIsATOAlgdAIEiVMnCCEAoRDECk8DFJxSkWjVg4aDDqxooTHEiwYPnTYwoUgAxReEDOEAMaFeTFkfPQYcpCHGSMd0pD460SNmR5tMLqBIycKZiyA5ojhyIOOkUd/JfW4g8fCSiJ4gHjAM9YJEyV6jChHtqxZRz5+rFjLFoiPsvFBhAyZS1cIkSJs8674UVYu3b9G8Opde6Tv379IfBwZXOQt2biHh9g9S7lyuSRKhhhZwmyJkSFKklhawuRvE2ZN/jLh3AiyaWal/wpxYmjJk8hPWMeyjbtQatlBBC1RAkV3oSVQlLAOEuXw6UG/564edHvIk0bVrwuPPfe5cCSgRQ8KQjeKoLiTATSfG3wQ5iFIjDdash60IL9GBGWeK0T+L+5RiPeXIEmoRlaBdDExyICCcDeEeMzsJ5luDAKwhF/2ZVNfe4JUCAB5c5mXjRRzabcgXYVUJ0U5S0wxhXweWjjFdJYB4BcSNT4SFxJUlBMIACH5BAkKAFUALAAAAAAoACgAhv///8bj9G234mKy4WGx4Eum3PT6/aDR7fL5/JPK6onF6FWs3n/A5m+440Ch2nu+5V+w377f8rbb8Uun3JTL6mq24lit3ofE6On0+6rV75/Q7efz+l+x4Gy24les3vj7/qnU7pXL673e8vH4/OXy+oHC5zWc2Fuv39Do9srl9X/B5prO7KbT7pvO7Nfs+J/Q7LLZ8EKj26/Y8Ge14ma04dbr96LR7k6o3UGi25nN673f86nV71qu34DB5+v1+8zm9sDg88jk9UWk2yuX1rze8kSj21Kq3cvl9ff7/tjs+Pr8/t/v+ePx+uf0++fz+8/n9tzu+cTi9NPq99vt+O/3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf+gACCg4SFgwECAwGGjI2OhgQFBQKPlYYGBwcGhZKShQgJCQiWhgoLCwycnYUNDg4PpIUQpwsRhJ0FhBKuDhOxhBS0FZuCuIMIFrwXv4MYtAsZg8aCGrwOG8yDGbQcGMWrABvWGtmDBrOnFIKRBR2CF7weo5UfICEiI4QR3IIBHQSLAEzgJYEQiRImTuQbhCKEwxApPgxScUpFo1YOGgwascKERxMsCDV8GKKFC0EGKLwgZgjUhXkwYnz0GHLQBxkkHcqQ+GvEjJkeaTCqYSMnCmYsgN6A4ehDCpJHfyX1iCPHwkcjdITYwTPWCB4mepAoR7asWUc+fgBZyzaIj7LxMoQMmUtXCJEgbPMC+VG2CN2/Q4zg1bv2SF/AdI34OELYLVy/gIsQOUu5cjkkSfYqYaZEbRIklpQsycuEGZO8SzY3ajKYbelfo/MGcWJIyRPCT1THso270GnZTQQpSQJFdyElUJKobhJF72tBv9emHnQbyJNG1a8Lj732OQAljD8TasI2iiDWjgE0Xxt8EGYgR4w3UrIeSBJBg/kCyLw2iHzY5YEGQF6CIIEaWQaytcQgBArCHRACMsMfEP4xyNYgSrR2Xzb1tSdIg+eVV44Ua2ln4VqFVCdFOUpMMYV8IAo3xXSWATCYYTU6wtoRVJQTCAAh+QQJCgBUACwAAAAAKAAoAIb////J5fV1vORqtuJptuJVrN74+/7D4vTz+f2Zzeu22/GVy+uv2PB3vOVLptyDwuebzuzW6/e73fFVq9693/Oi0e1isuGOx+nx+PzK5fWk0u3o9Pt0u+RhseD6/P7M5vbA4PPY7Pj3+/7n8/qIxehAodpks+Hy+fzj8frf7/mf0Oyr1u/E4vTn8/uZzexMp9zP5/ZwueNvuOPn9PvI5PVXrN5Lp9yf0O3L5fVjs+GHxOjr9fuy2fBOqd01nNi/4PNOqN1br99art/x+f1Sqt0rl9Z6vuXk8vqh0e2Uy+pFpNuw2PBfsOBgseDc7vk3ndh6veXT6vfb7fjv9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/oAAgoOEhYMBAgMBhoyNjoYEBQUCj5WGBgcHBoWSkoUICQkIloYKCwsMnJ2FDQ4OD6SFEKcLEYSdBYQSrg4TsYQUtBWbgriDCBa8F7+DGLQLGYPGghq8DhvMgxm0EBjFqwAb1hrZgwazpxSCkQUcghe8HaOVHh8gISKEEdyCARwEiwBM4CWB0AgSJUycIIQChEMQKTwMYnAqFaNWDhoMOqGihMcSKxg+dMiihSADFDQ1QuDiwjwFLz56DDnIA4yRDmFI/HUihkyPMhjNoIETBbMVP2socOQhxUijv5B6tHFjYSURIUDg2BnrRI4SOkaUG0u2rKMd9nDS2EGWRw8f7HDj9vhBFKfDD2SBxN3rI0hduzjy8o0rZAcOu2vb6uUL5IfZx5DLYQXxgSupIUSKGDliqelTZkiKiC6yYIijoUWZJRktWskSQzbt6mQ2hAlr0U0KNRxJY4YgDyGcWCbkwUmInQye3EYi8mHEQTdBwGgUfbqgIatHM695GB+hGQ9ZCBqaGACLh74HHYFShIhpeucdhhBUFy+ArA5pDP/llGQ+ACMJIsJIKYw1oHODBChIfw79xwx+IOiX4EM1/TVfNvGBkJ4gCo4XXjlR5FRIh4JEF0U5HkghxXAkApDic5EBUFdgMZ5GAw5TlBMIACH5BAkKAFwALAAAAAAoACgAhv///93u+KnU7qLR7aLR7pXL6/r8/tzu+fT6/aDR7dPq98Dg88/n9n/B5lWs3orG6MTi9Of0+77f8l+w39js+Mjk9Wq24pTL6vf7/t/v+arV7+n0+6nV72m24szm9uj0+4/I6Uum3G234vP5/ePx+qXT7rDY8Ofz+9vt+J/Q7Lvd8Vas3ni95Xe85WGx4FWr3qTS7cvl9Wy24o7H6ev1+7bb8Vit3kCh2sPi9Fes3mSz4WOz4fH4/Fuv3zWc2IHC5+Xy+qbT7prO7JnN606p3bPa8Ga04We14vH5/YjE6Hq+5bLZ8EGi21+w4CuX1mCx4Ded2K/Y8IDB51qu33q95UWk2+Ty+kSj2zid2Gy34ofE6O/3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf+gACCg4SFgwECAwGGjI2OhgQFBQKPlYYGBwcGhZKShQgJCQiWhgoLCwycnYUNDg4PpIUQpwsRhJ0FhBKuDhOxhBS0FZuCuIMIFrwXv4MYtAsZg8aCGrwOG8yDGbQQGMWrABvWGtmDBrOnFIKRBRyCF7wdo5UGHgsU3oMR3IIBHASLAEzgJYHQBxAhRIwgROJZBmIAGJxKxaiVgwaDRpQIwTGECYbPFkA4IcgABRQQP6W4ME/Fio4cP5qTGJJBSksjWMDk2IJRhAohSTAzsdOFCkcGttES+osoxxcwFlbCECzGzUojZISY8aGc169gHdGwF7ICja81bNxYy9YGDqDrIU95+JqDrd0bOuDGjUH3LtsdNGLENYu27t0cOMIqXlyO6gIPVx/x6OHjBxBLSZ8xjRXEh2cfQng4+hmU2ZDPnokUuUTzmU1mPIyg9nykUMNnFWwBMKmpEZIkSpAIWsJkdhCQtB4OoknRUBMnTp4M4nH683FzgvER2ncKgqCfhAFAge4kCiEgUnxMEU0P3T1BcOcCoEK+inCvSkXmeybICnknyzTm0CD8vfOfFeUEc8owBNIyCBJXkEdFOe7pJkiBgkRBHhblmIJKIRgK8pwTWZRjAAoogeggIUhoccF9jMHFF2OP/BTDFuUEAgAh+QQJCgBZACwAAAAAKAAoAIb////r9fvM5vbI5PXA4PP6/P7c7vn4+/7D4vTT6vfP5/av2PCVy+u22/HE4vTn9PvW6/ebzuzY7Pii0e293/P3+/7f7/nK5fXx+PzL5fWi0e7p9PuVy+pVrN51vOT0+v3j8fqq1e602vDn8/vb7fi+3/JfseB/wOZ/weZptuJfsN+q1e90u+SUy+q73fFisuFLptzG4/RhseBtt+JstuLy+fxks+FAodqIxejn8/qr1u+f0Oyf0O1Yrd633PFvuONwueOOyOmBwudLp9xmtOE1nNhnteJFpNu83vJBotuy2fCHxOhjs+FEo9srl9ZSqt2AwedOqd3l8vqZzetOqN1Co9tzuuSNx+nJ5fUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/oAAgoOEhYMBAgMBhoyNjoYDBAQCj5WGBQYGBYWSkoUHCAgHloYJkgqcnYULDAwNpIUOnQ+EnQSEEK0MEbCEEp0Dm4K2gwcTuhS9gxW2FoPEghe6DBjKgxadDhXDqgAY0xfWgwWykhKCkQQZghS6GqOVBQIEEtuDD9mCARmKghG6EAht4NDBwwdCIJoJA6DgVCNWDBYM+hCig8UOIhDaIuBghKACEkgs/ISAArwSJi5azDiu4UYFIy19OKHSIgpGD9J1AqFMRM0UJRwVwLaz50UVKw5WqvArQ8xKH1h0aLFBnNWrWB0h2kign1UXL2CIHfsihs6NlKzKGMsWxoyz7LbWqW07lsY+rl7FuVjbVkaMrIADi2M66emjGjZu4Mhhaagtnr103Jh8Y0cNRzk3QobFg/LkHj4uubQFU1mNH54nAymU0NYAWgBAamqEIYiQagAaDEmtQ2MnCwtdomJEpEgRI4NqdKbce1wGevYE4ZPkQNCCI0eQCEpivIgSQjmW3GByOV45eoKaOHHyRBCU7lFwiyPK0d769YKkdC8yxSqz34Pc58QgU+wnhTi/SBJMgPcNggEV3UEhznmwCSIgIUp0V4U4phAwHIP4EVJcEVaIUwAJIhVyISEYXDGFfIGpx55glSzQxBNYiBMIADs="/>
      <br><input type=button value="wait解除" onClick="closeWait();">
    </div>
  </div>

  <!-- 以下 プログラム -->   
  <script type="text/javascript">
  /* ------------------------------------------------------------
   * 起動時に画面サイズを 600 300にリサイズし画面中央に表示する
   * ------------------------------------------------------------ */
  function initLoad(){
    /// <summary>起動時に画面サイズを 600 300にリサイズし画面中央に表示する。</summary>

    var myWidth =600;  //画面横幅
    var myHeight=300;  //画面高さ
    
    // ウィンドウリサイズ
    window.resizeTo(myWidth,myHeight);
    // ウィンドウを中央に移動
    window.moveTo(
      (window.screen.width - myWidth )/2,
      (window.screen.height - myHeight ) /2
    );
  } /* End initLoad() */

  /* ------------------------------------------------------------
   * しばらくお待ちください画面表示
   * ------------------------------------------------------------ */
  function showWait() {
    var elementx = document.getElementById("waitTAG"); 
    elementx.style.display = 'block'; 
    for( var i=0;i<10000;i++){
    	//dummy 
    }
  }; // ** showWait END **

  /* ------------------------------------------------------------
   * しばらくお待ちください画面消去
   * ------------------------------------------------------------ */
  function closeWait() {
    var element = document.getElementById("waitTAG"); 
    element.style.display = 'none'; 
  }; // ** closeWait END **

  </script>
  </body>
</html>

#htaの将来性
htaを利用されてい方のブログによると、IE10以降 hta:applicationタグがサポート外になるなどhtaは使えなくなっていく可能性が高い。一方でhtaを動かすスクリプトエンジン(mshta.exe)はIE11と共にバージョンUPされているようなのでWindows8(正確にはIE11?)までは利用可能だが、windows10の新しいブラウザ「Microsoft Edge」ではActiveX非サポートのアナウンスがされているので将来的には消えていく運命ではないでしょうか。
Windows 10 Insider Preview (x64) - ビルド 10130 で確認したところ、IE11が使え、mshta.exeは存在する。前述のVBscriptでonclickサンプルhtaは動作した。windows10まではhtaでのツール提供は出来ると思われる。
MShta.png

18
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?