• javascript HierarchicalTaskAnalysis-hta编程(.hta)


    main.hta  code:

      1 <script>window.resizeTo(400,300);</script>
      2 <head>
      3 
      4 <hta:application
      5 
      6 id=myApplication 
      7 applicationName=myMusic
      8 singleInstance=yes
      9 scroll=yes
     10 innerborder=no 
     11 icon=app.ico
     12 selection=yes
     13 version=1
     14 navigable=yes
     15 caption=yes
     16 contextMenu=no
     17 
     18 >
     19 
     20 <style>
     21     
     22 </style>
     23 
     24 </head>
     25 
     26 <body>
     27 <p id="pId">hello Hierarchical Task Analysis</p>
     28 </body>
     29 
     30 <script>
     31 
     32 /** hta config:
     33 APPLICATION
     34 内容是否是HTA,免除安全模式。
     35 
     36 applicationName
     37 此属性为设置HTA的名称。
     38 
     39 singleInstance
     40 此属性为设置是否此应用程序同时只能运行一次。次属性以 applicationName 属性作为标识,默认值为 no。
     41 
     42 border
     43 此属性为设置为HTA的窗口边框类型,默认值为 thick
     44 它可以设为
     45 thick 指定窗口为粗边框
     46 dialog window 指定窗口为对话框
     47 none 指定窗口无边框
     48 thin 指定窗口为窄边框
     49 borderStyle
     50 此属性为设置HTA窗口的边框格式,默认值为 normal。
     51 它可以设为
     52 normal 普通边框格式
     53 complex 凹凸格式组合边框
     54 raised 凸出的3D边框
     55 static 3D边框格式
     56 sunken 凹进的3D边框
     57 
     58 caption
     59 此属性为设置HTA窗口是否显示标题栏或标题,默认值为 yes。
     60 
     61 commandLine
     62 此属性获取启动HTA的参数。
     63 
     64 contextMenu
     65 此属性为设置鼠标右键点击时是否显示上下文菜单。
     66 
     67 icon
     68 此属性为设置应用程序的图标。
     69 
     70 innerBorder
     71 设置是否显示内部3D边界。
     72 
     73 navigable
     74 设置链接文档加载到主HTA窗口或者新的浏览窗口。
     75 
     76 maximizeButton
     77 此属性为设置是否在HTA窗口中显示最大化按钮,默认值为 yes。
     78 
     79 minimizeButton
     80 此属性为设置是否在HTA窗口中显示最小化按钮,默认值为 yes。
     81 
     82 Scroll
     83 此属性为设置是否在右端显示竖向滚动条,默认值为 yes。
     84 
     85 scrollFlat
     86 设置滚动条是3D的或者平面的。
     87 
     88 selection
     89 设置内容是否可以被鼠标或键盘选中。
     90 
     91 showInTaskBar
     92 此属性为设置是否在任务栏中显示此应用程序,默认值为 yes。
     93 
     94 sysMenu
     95 此属性为设置是否在HTA窗口中显示系统菜单,默认值为 yes。
     96 
     97 version
     98 此属性为设置应用程序的版本,默认值为空。
     99 
    100 windowState
    101 此属性为设置HTA窗口的初始大小,默认值为 normal。
    102 它可以设为
    103 normal 默认大小
    104 minimize 最小化
    105 maximize 最大化
    106 
    107 hta 全名 : Hierarchical Task Analysis
    108 */
    109 
    110 /** window对象:
    111     onbeforeunload//退出事件
    112     onbeforeunload = function(){alert(1);}
    113     
    114     onunload //退出事件
    115     
    116     event
    117     
    118     onafterprint//打印后事件
    119     onbeforeprint
    120     
    121     onblur = function(){alert(1);}//窗口失去焦点事件
    122     
    123     status
    124     clientInformation
    125     clipboardData//剪贴数据object
    126     onload
    127     onhashchange//url改变事件
    128     onscroll
    129     maxConnectionsPerServer = 32//http连接最大次数
    130     location = location = file:///C:/Users/Administrator/Desktop/1.hta
    131     onresize
    132     
    133 
    134 操作本地文件
    135 
    136 //drive:
    137 
    138 var fso, fldr, s = "";
    139 // 创建FileSystemObject对象实例
    140 fso = new ActiveXObject("Scripting.FileSystemObject");
    141 // 获取Drive 对象
    142 fldr = fso.GetFolder("c:\");
    143 // 显示父目录名称
    144 alert("Parent folder name is: " + fldr + "
    ");
    145 // 显示所在drive名称
    146 alert("Contained on drive " + fldr.Drive + "
    ");
    147 // 判断是否为根目录
    148 if (fldr.IsRootFolder)
    149 alert("This is the root folder.");
    150 else
    151 alert("This folder isn't a root folder.");
    152 alert("
    
    ");
    153 // 创建新文件夹
    154 fso.CreateFolder ("C:\Bogus");
    155 alert("Created folder C:\Bogus" + "
    ");
    156 // 显示文件夹基础名称,不包含路径名
    157 alert("Basename = " + fso.GetBaseName("c:\bogus") + "
    ");
    158 // 删除创建的文件夹
    159 fso.DeleteFolder ("C:\Bogus");
    160 alert("Deleted folder C:\Bogus" + "
    ");
    161 
    162 
    163 //file:
    164 
    165 (一)创建文件
    166 一共有3种方法可用于创建一个空文本文件,这种文件有时候也叫做文本流(text stream)。
    167 第一种是使用CreateTextFile方法。代码如下:
    168 代码如下:
    169 
    170 var fso, f1;
    171 fso = new ActiveXObject("Scripting.FileSystemObject");
    172 f1 = fso.CreateTextFile("c:\testfile.txt", true);
    173 第二种是使用OpenTextFile方法,并添加上ForWriting属性,ForWriting的值为2。代码如下:
    174 代码如下:
    175 
    176 var fso, ts;
    177 var ForWriting= 2;
    178 fso = new ActiveXObject("Scripting.FileSystemObject");
    179 ts = fso.OpenTextFile("c:\test.txt", ForWriting, true);
    180 第三种是使用OpenAsTextStream方法,同样要设置好ForWriting属性。
    181 代码如下:
    182 
    183 var fso, f1, ts;
    184 var ForWriting = 2;
    185 fso = new ActiveXObject("Scripting.FileSystemObject");
    186 fso.CreateTextFile ("c:\test1.txt");
    187 f1 = fso.GetFile("c:\test1.txt");
    188 ts = f1.OpenAsTextStream(ForWriting, true);
    189 
    190 (二)添加数据到文件
    191 当文件被创建后,一般要按照"打开文件->填写数据->关闭文件"的步骤实现添加数据到文件的目的。
    192 打开文件可使用FileSystemObject对象的OpenTextFile方法,或者使用File对象的OpenAsTextStream方法。
    193 填写数据要使用到TextStream对象的Write、WriteLine或者WriteBlankLines方法。在同是实现写入数据的功能下,这3者的区别在于:Write方法不在写入数据末尾添加新换行符,WriteLine方法要在最后添加一个新换行符,而WriteBlankLines则增加一个或者多个空行。
    194 关闭文件可使用TextStream对象的Close方法
    195 
    196 (三)创建文件及添加数据例程
    197 下面的代码将创建文件、添加数据、关闭文件几个步骤结合起来进行应用:
    198 代码如下:
    199 var fso, tf;
    200 fso = new ActiveXObject("Scripting.FileSystemObject");
    201 // 创建新文件
    202 tf = fso.CreateTextFile("c:\testfile.txt", true);
    203 // 填写数据,并增加换行符
    204 tf.WriteLine("Testing 1, 2, 3.") ;
    205 // 增加3个空行
    206 tf.WriteBlankLines(3) ;
    207 // 填写一行,不带换行符
    208 tf.Write ("This is a test.");
    209 // 关闭文件
    210 tf.Close();
    211 
    212 (四)读取文件内容
    213 从文本文件中读取数据要使用TextStream对象的Read、ReadLine或ReadAll 方法。Read方法用于读取文件中指定数量的字符;ReadLine方法读取一整行,但不包括换行符;ReadAll方法则读取文本文件的整个内容。读取的内容存放于字符串变量中,用于显示、分析。在使用Read或ReadLine方法读取文件内容时,如果要跳过一些部分,就要用到Skip或SkipLine方法。
    214 下面的代码演示打开文件、填写数据,然后读取数据:
    215 代码如下:
    216 var fso, f1, ts, s;
    217 var ForReading = 1;
    218 fso = new ActiveXObject("Scripting.FileSystemObject");
    219 // 创建文件
    220 f1 = fso.CreateTextFile("c:\testfile.txt", true);
    221 // 填写一行数据
    222 f1.WriteLine("Hello World");
    223 f1.WriteBlankLines(1);
    224 // 关闭文件
    225 f1.Close();
    226 // 打开文件
    227 ts = fso.OpenTextFile("c:\testfile.txt", ForReading);
    228 // 读取文件一行内容到字符串
    229 s = ts.ReadLine();
    230 // 显示字符串信息
    231 alert("File contents = ‘" + s + "‘");
    232 // 关闭文件
    233 ts.Close();
    234 
    235 (五)移动、拷贝和删除文件
    236 对于以上三种文件操作,javascript各有两种对应的方法:File.Move 或 FileSystemObject.MoveFile用于移动文件;File.Copy 或 FileSystemObject.CopyFile用于拷贝文件;File.Delete 或 FileSystemObject.DeleteFile用于删除文件。
    237 下面的代码演示在驱动器C的根目录下创建一个文本文件,填写一些内容,然后将文件移动到	mp目录下,再在目录	emp下面建立一个文件拷贝,最后删除这两个目录的文件:
    238 代码如下:
    239 var fso, f1, f2, s;
    240 fso = new ActiveXObject("Scripting.FileSystemObject");
    241 f1 = fso.CreateTextFile("c:\testfile.txt", true);
    242 // 写一行
    243 f1.Write("This is a test.");
    244 // 关闭文件
    245 f1.Close();
    246 // 获取C:根目录下的文件句柄
    247 f2 = fso.GetFile("c:\testfile.txt");
    248 // 移动文件到	mp目录下
    249 f2.Move ("c:\tmp\testfile.txt");
    250 // 拷贝文件到	emp目录下
    251 f2.Copy ("c:\temp\testfile.txt");
    252 // 获取文件句柄
    253 f2 = fso.GetFile("c:\tmp\testfile.txt");
    254 f3 = fso.GetFile("c:\temp\testfile.txt");
    255 // 删除文件
    256 f2.Delete();
    257 f3.Delete();
    258 */    
    259     
    260     var commandLine=myApplication.commandLine.split(" ");//接收命令行参数
    261     
    262     var proto = window;
    263     
    264     for(var k in proto){
    265         document.write(typeof(k)+' '+k+' = '+proto[k]+'<br />');
    266     }
    267     
    268     var urler = "H:\file.hta";
    269     var o = new ActiveXObject("Scripting.FileSystemObject");
    270     var f = o.createtextfile(urler, true);//创建文件
    271     var c = o.GetFile(urler).DateLastModified;//获取最后修改日期属性值
    272     alert(c);
    273 </script>
  • 相关阅读:
    史上最大型广告欺诈活动Methbot:黑客是如何每天赚到500万美元的
    Google研究人员宣布完成全球首例SHA-1哈希碰撞!
    “无文件”恶意软件的威力:悄无声息一夜之间从ATM机中窃取80万美元
    怎样才能写出高质量的伪原创,并且排名在前?
    新手站长如何快速学习实践SEO?
    .net core 开发注意事项
    写cookies注意事项
    .net core Ocelot 开源的API网关学习
    .net core与asp.net读取网站根目录文件的区别
    asp.net 中webapi读取参数对象和.net core的区别
  • 原文地址:https://www.cnblogs.com/weihexinCode/p/12318320.html
Copyright © 2020-2023  润新知