在HTA中使用vbscript
目标:防止用户关闭HTA(除了我的自定义按钮或使用Windows任务管理器)
据我从各种网页了解;在HTA SYSMENU中单击关闭按钮时,无法阻止HTA关闭。因此,我的解决方案是防止用户首先点击关闭。
首先要禁用系统菜单:
<HTA:APPLICATION SYSMENU="no" />
NB。我将用自定义系统菜单替换系统菜单 - 任何指向此指南的链接都将受到赞赏。
接下来阻止键盘快捷键alt + f4,f5或转义如下:
Function Document_onKeyDown()
Dim alt
alt = window.event.altKey
Select Case window.event.keyCode
Case 27,116
window.event.keyCode = 0
window.event.cancelBubble = true
Document_onKeyDown = False
Case 115
If alt Then
window.event.keyCode = 0
window.event.cancelBubble = true
Document_onKeyDown = False
End If
Case Else
Document_onKeyDown = True
End Select
End Function
最后,我想阻止用户使用我的HTA应用程序的Windows任务栏上下文菜单。
如何通过右键单击我的HTA来阻止用户查看上下文菜单?
NB。 HTA窗口不能全屏
答案 0 :(得分:2)
不要乱用用户关闭应用程序的选项。决定用户应该如何工作并不取决于你。而是添加一个清理程序,在其中执行所有“关闭”任务并在beforeunload
事件上调用它:
<html>
<head>
<title>sample</title>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="sample"
>
<script language="VBScript">
Sub cleanup
'clean up stuff here
End Sub
</script>
</head>
<body onbeforeunload=cleanup>
...
</body>
</html>
答案 1 :(得分:1)
关于:
如何通过右键单击我的HTA来阻止用户查看上下文菜单?
<HTA:APPLICATION contextMenu="no">