インラインMSHTAスクリプトはフォーカスが奪われる。
インラインMSHTAスクリプトは、とても便利なのですが、唯一、最大の問題は、フォーカスが奪われることです。:-(
例えば、「コマンドラインからクリップボードを使う。」の
http://scripting.cocolog-nifty.com/blog/2006/09/post_52b4.html
ToClip.CMD
@MORE | MSHTA.EXE vbscript:Execute("clipboardData.setData ""text"",CreateObject(""Scripting.FileSystemObject"").GetStandardStream(0).ReadAll():close:")
を実行すると、フォーカスが奪われてしまいます。:-(
なので、コンソールをクリックして、フォーカスを取り戻さなくてはなりません。:-(
これが、とても不便です。:-(
これは、htaファイルでも、同じです。
htaファイルを起動すると、フォーカスが奪われます。htaが終了すれば、戻って来ます。
しかし、ここで、もし、<hta:application windowstate=minimize >タグがあれば、いっとき奪われますが、すぐに戻ります。
そこで、<hta:application windowstate=minimize >タグをインラインMSHTAスクリプトに応用します。
ToClip.CMD
@MORE | MSHTA.EXE "about:<hta:application windowstate=minimize /><script>clipboardData.setData('text',new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(0).ReadAll());close();</script>"
« コマンドラインで、サスペンド(スタンバイ)、ハイバネーション(休止)する。(その5) | トップページ | Temporary Internet Filesフォルダの開き方 »