hta教程

Run Settings
LanguagePlaintext
HTA是HTML Application的缩写(HTML应用程序), 是软件开发的新概念,直接将HTML保存成HTA的格式, 就是一个独立的应用软件,与VB、C++等程序语言所设计的软件界面没什么差别。 也表示HTA(Hierarchical Task Analysis),即层次任务分析和HTA,health technology assessment卫生技术评估 中文名 HTML应用程序 外文名 HTML Application 缩 写 HTA 性 质 软件开发的新概念 另译1 层次任务分析 另译2卫生技术评估
HTA与普通的网页结构差不多,所以设计出来很容易, 当然HTA还有许多自己独特的属性: 程序的权限 HTA虽然用HTML、JS和CSS编写,却比普通网页权限大得多。 它具有桌面程序的所有权限(读写文件、操作注册表等)。 HTA本来就是被设计为桌面程序的。 语法的要求 HTA对语法的要求比HTML还要松,甚至连<html>、<body>等标记都可以直接省略 <!--example2.hta--> 送别 王维 下马引君酒,问君何所之。 …… 注意:上面就是整个HTA文件的玩法格式
下面是一个HTA的例子 <!--example1.hta--> <html> <head> <title>第一个HTA的例子</title> <style> p{<a target="_blank" href="/item/font-size/7529124" data-lemmaid="7529124">font-size</a>:24;<a target="_blank" href="/item/cursor/1739640" data-lemmaid="1739640">cursor</a>:hand} </style> </head> <body> <center> <p> HTA HTMLApplication HTML应用程序 </p> </center> </body> </html> 把上面的代码复制到任意文本编辑器中,然后保存为*.hta,直接双击就可以看到效果。
属性说明 APPLICATION 内容是否是HTA,免除安全模式。 applicationName 此属性为设置HTA的名称。 border 此属性为设置为HTA的窗口边框类型,默认值为 thick。 它可以设为 thick 指定窗口为粗边框 dialog window 指定窗口为对话框 none 指定窗口无边框 thin 指定窗口为窄边框 borderStyle 此属性为设置HTA窗口的边框格式,默认值为 normal。 它可以设为 normal 普通边框格式 complex 凹凸格式组合边框 raised 凸出的3D边框 static 3D边框格式 sunken 凹进的3D边框 caption 此属性为设置HTA窗口是否显示标题栏或标题,默认值为 yes。 commandLine 此属性获取启动HTA的参数。 contextMenu 此属性为设置鼠标右键点击时是否显示上下文菜单。 icon 此属性为设置应用程序的图标。 innerBorder 设置是否显示内部3D边界。 navigable 设置链接文档加载到主HTA窗口或者新的浏览窗口。 maximizeButton 此属性为设置是否在HTA窗口中显示最大化按钮,默认值为 yes。 minimizeButton 此属性为设置是否在HTA窗口中显示最小化按钮,默认值为 yes。 Scroll 此属性为设置是否在右端显示竖向滚动条,默认值为 yes。 scrollFlat 设置滚动条是3D的或者平面的。 selection 设置内容是否可以被鼠标或键盘选中。 showInTaskBar 此属性为设置是否在任务栏中显示此应用程序,默认值为 yes。 singleInstance 此属性为设置是否此应用程序同时只能运行一次。次属性以APPLICATIONNAME属性作为标识,默认值为 no。 sysMenu 此属性为设置是否在HTA窗口中显示系统菜单,默认值为 yes。 version 此属性为设置应用程序的版本,默认值为空。 windowState 此属性为设置HTA窗口的初始大小,默认值为 normal。 它可以设为 normal 默认大小 minimize 最小化 maximize 最大化
可以用<HTA:Application>来设定HTA应用程序的外观,如标题栏、边框大小等,必须放在<head>中。 <!--example3.hta--> <html> <head> <title>第一个HTA的例子</title> <HTA:ApplicationID="oHTA" Applicationname="myApp" border="thin" borderstyle="normal" <a target="_blank" href="/item/caption/10401273" data-lemmaid="10401273">caption</a>="yes" icon="filename.ico" maximizebutton="yes" minimizebutton="yes" showintaskbar="no" singleinstance="no" sysmenu="yes" version="1.0" windowstate="normal" scroll="yes"> </head> <body> <center> HTA HTMLApplication HTML应用程序 <button onclick="self.close()"style="<a target="_blank" href="/item/font-size/7529124" data-lemmaid="7529124">font-size</a>:18">离开</button> </center> </body> </html>
<HTML> <HEAD> <TITLE>勇闯迷宫 作:VBS脚本之家</TITLE> <META http-equiv=Content-Type content="text/html; charset=gb2312"> </HEAD> <BODY> <BASEFONT face=verdana size=2> <SCRIPT> function ShowMenu(bMenu) { document.all.idFinder.style.display = (bMenu) ? "none" : "block" document.all.idMenu.style.display = (bMenu) ? "block" : "none" idML.className = (bMenu) ? "cOn" : "cOff" idRL.className = (bMenu) ? "cOff" : "cOn" return false } </SCRIPT> <STYLE>A.cOn { FONT-WEIGHT: bolder; TEXT-DECORATION: none } #article { PADDING-RIGHT: 15pt; PADDING-LEFT: 5pt; BACKGROUND: white; PADDING-BOTTOM: 0px; FONT: 12pt Verdana, geneva, arial, sans-serif; COLOR: black; PADDING-TOP: 10pt } #article P.start { TEXT-INDENT: 0pt } #article P { MARGIN-TOP: 0pt; FONT-SIZE: 10pt; TEXT-INDENT: 12pt } #article #author { MARGIN-BOTTOM: 5pt; TEXT-INDENT: 0pt; FONT-STYLE: italic } #pageList P { PADDING-TOP: 10pt } #article H3 { FONT-WEIGHT: bold } #article DL { FONT-SIZE: 10pt } UL { FONT-SIZE: 10pt } OL { FONT-SIZE: 10pt } </STYLE> <SCRIPT> <!-- function addList(url,desc) { if ((navigator.appName=="Netscape") || (parseInt(navigator.appVersion)>=4)) { var w=window.open("","_IDHTML_LIST_","top=0,left=0,width=475,height=150,history=no,menubar=no,status=no,resizable=no") var d=w.document if (!w._init) { d.open() d.write("<TITLE>Loading...</TITLE><EM>Loading...</EM>") d.close() w.opener=self window.status="Personal Assistant (Adding): " + desc } else { window.status=w.addOption(url,desc) w.focus() } } else alert("Your browser does not support the personal assistant.") return false } </SCRIPT> <STYLE type=text/css>#board TD { FONT-SIZE: 2pt; WIDTH: 15pt; HEIGHT: 15pt } TD.foot { FONT-SIZE: 10pt } #board TD.start { BORDER-TOP: black 2px solid; FONT-SIZE: 8pt; BACKGROUND: yellow; BORDER-LEFT: black 2px solid; COLOR: red; TEXT-ALIGN: center } #board TD.end { FONT-SIZE: 8pt; COLOR: green; TEXT-ALIGN: center } #message { PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; MARGIN: 0pt; PADDING-TOP: 0pt; TEXT-ALIGN: center } </STYLE> <SCRIPT language=JavaScript> var maze = new Array() var sides = new Array("Border-Top", "Border-Right") for (var rows=0; rows<13; rows++) maze[rows] = new Array() maze[0][0] = new Array(1,1,1,1,1,1,1,1,1,1,1,1) maze[0][1] = new Array(0,0,1,0,1,0,0,0,0,1,0,1) maze[1][0] = new Array(1,0,0,0,1,0,1,1,1,0,1,1) maze[1][1] = new Array(0,1,1,0,0,1,1,0,0,1,0,1) maze[2][0] = new Array(1,0,1,0,1,0,0,1,1,0,1,1) maze[2][1] = new Array(0,0,0,0,1,1,1,0,0,0,0,1) maze[3][0] = new Array(0,1,1,1,1,1,0,0,0,0,1,1) maze[3][1] = new Array(1,0,0,1,0,0,0,1,1,0,0,1) maze[4][0] = new Array(0,0,0,0,0,0,1,1,1,1,1,1) maze[4][1] = new Array(1,1,1,1,1,0,0,0,0,0,1,1) maze[5][0] = new Array(0,0,0,0,1,0,1,1,1,1,0,0) maze[5][1] = new Array(1,1,1,1,1,1,0,0,0,1,0,1) maze[6][0] = new Array(0,0,0,0,0,0,1,1,0,1,0,1) maze[6][1] = new Array(1,1,1,1,1,1,0,0,0,1,0,1) maze[7][0] = new Array(1,0,1,0,0,0,1,0,1,1,0,1) maze[7][1] = new Array(1,1,1,0,1,0,0,1,0,1,1,1) maze[8][0] = new Array(0,0,0,1,0,0,1,1,0,0,0,0) maze[8][1] = new Array(0,1,0,1,1,0,0,0,1,1,0,1) maze[9][0] = new Array(0,0,0,0,0,1,1,1,1,0,1,1) maze[9][1] = new Array(1,1,1,1,0,0,0,0,0,1,1,1) maze[10][0] = new Array(0,0,0,0,0,1,1,1,1,1,0,0) maze[10][1] = new Array(1,1,1,0,1,0,0,0,0,1,0,1) maze[11][0] = new Array(0,0,1,1,1,1,1,1,1,0,0,0) maze[11][1] = new Array(1,0,1,0,0,0,0,0,0,0,1,1) maze[12][0] = new Array(0,0,0,0,0,1,1,1,1,0,1,0) maze[12][1] = new Array(1,1,0,1,0,0,0,1,0,0,1,1) function testNext(nxt) { if ((board.rows[start.rows].cells[start.cols].style.backgroundColor=="blue") && (nxt.style.backgroundColor=='blue')) { message.innerText="I see you changed your mind." board.rows[start.rows].cells[start.cols].style.backgroundColor="" return false } return true } function moveIt() { if (!progress) return switch (event.keyCode) { case 37: // left if (maze[start.rows][1][start.cols-1]==0) { if (testNext(board.rows[start.rows].cells[start.cols-1])) message.innerText="Going west..." start.cols-- document.all.board.rows[start.rows].cells[start.cols].style.backgroundColor="blue" } else message.innerText="Ouch... you can't go west." break; case 38: // up if (maze[start.rows][0][start.cols]==0) { if (testNext(board.rows[start.rows-1].cells[start.cols])) message.innerText="Going north..." start.rows-- document.all.board.rows[start.rows].cells[start.cols].style.backgroundColor="blue" } else message.innerText="Ouch... you can't go north." break; case 39: // right if (maze[start.rows][1][start.cols]==0) { if (testNext(board.rows[start.rows].cells[start.cols+1])) message.innerText="Going east..." start.cols++ document.all.board.rows[start.rows].cells[start.cols].style.backgroundColor="blue" } else message.innerText="Ouch... you can't go east." break; case 40: //down if (maze[start.rows+1]==null) return if (maze[start.rows+1][0][start.cols]==0) { if (testNext(board.rows[start.rows+1].cells[start.cols])) message.innerText="Going south..." start.rows++ document.all.board.rows[start.rows].cells[start.cols].style.backgroundColor="blue" } else message.innerText="Ouch... you can't go south." break; } if (document.all.board.rows[start.rows].cells[start.cols].innerText=="end") { message.innerText="You Win!" progress=false } } </SCRIPT> <P align=center>请使用键盘上的→←↑↓键进行游戏</P><BR> <P> <TABLE id=board cellSpacing=0 cellPadding=0 align=center> <SCRIPT language=JavaScript> for (var row = 0; row<maze.length; row++) { document.write("<TR>") for (var col = 0; col<maze[row][0].length; col++) { document.write("<TD STYLE='") for (var cell = 0; cell<2; cell++) { if (maze[row][cell][col]==1) document.write(sides[cell]+": 2px black solid;") } if ((0==col) && (0!=row)) document.write("border-left: 2px black solid;") if (row==maze.length-1) document.write("border-bottom: 2px black solid;") if ((0==row) && (0==col)) document.write(" background-color:yellow;' class=start>start</TD>") else if ((row==maze.length-1) && (col==maze[row][0].length-1)) document.write("' class=end>end</TD>") else document.write("'> </TD>") } document.write("</TR>") } var start = new Object start.rows = 0 start.cols = 0 progress=true document.onkeydown = moveIt; </SCRIPT> <TBODY></TBODY></TABLE> <P id=message> </P></BASEFONT> </BODY> </HTML>
Editor Settings
Theme
Key bindings
Full width
Lines