2011-12-20 11 views
2

HTAでは、エラーが発生した場合は開いたままにして、すべて成功した場合は閉じます。最初は、sysmenuプロパティがnoに設定されています。これは、ユーザーが終了するまでHTAを閉じないようにするためです。最後に、クローズボタンをクリックできるようにします。これを達成しようと私が打ち明けたものがありますが、うまくいきません。 HTAにWindowsのプロパティをリフレッシュさせるために何かする必要があると思われますか?動的にHTAウィンドウのプロパティを変更する

完全にウィンドウを再ロードおよび/またはスクリプトを再度実行させる任意のソリューションが

If Not bHoldOpen Then 
    Call window.close 
Else 
    Dim tagHTA 
    Set tagHTA = document.getElementsByTagName("hta:application").item(0) 
    Call tagHTA.setAttribute("sysmenu","yes") 
End If 

答えて

2

あなたにHTA:ブロックにそののみ利用でき、実行時にそれを変更することはできません受け入れられないことに注意してくださいその値は、物理的なウィンドウが最初にどのように作成されるかを決定するために使用されます。

私はあなたがクローズを中止するonBeforeUnloadイベント&コールcancelBubbleを使用して警告を作り出すことができると思ったが、私はIE8でそれを試してみましたが、それはまだ盗聴ようです。 http://support.microsoft.com/kb/946214

処理が完了したときに[閉じる]ボタンを表示するだけであれば、ユーザーが理解するのが簡単で簡単になります。

+1

+1 [documentation](http://msdn.microsoft.com/en-us/library/ms536492%28VS.85%29.aspx)には、 'sysMenu'プロパティが読み取り専用であることが記載されています。最初のロード後に変更できないことを意味します。 –

関連する問題