在java算法(Scott robert ladd)中看到快速傅立叶变换,讲的很详细,摘录下来跟大家分享!
以下正文:
FFT或许是已知的最有效的算法,他应用范围广。从信号的处理到数据压缩到地震分析和图形放大,FFT通过领域间的信息转换
提供了一个强有力的工具,本节讲讨论FFT如何改进多项式乘法的性能:
到目前为止,我用系数形式表示多项式,但有些应用程序最适合用point-value形式表示多项式,任何多项式都可被n个点值
对来表示,这里,value是多项式在给定点point的值,许多数学应用要使用FFT实现点值和系数之间的快速变换。
两个多项式A和B快速相乘的过程如下:
1,用同一组值把A和B从十形式转换为点值形式pA和pB。
2。pA和pB对应的点值相乘,得到pC。
3。对pC进行插值得到系数多项式C,他等于A乘上B。
表面上看,上述算法比在mul中使用之际相乘并不高效--却更复杂,选择合适的计算值可以使点-值乘法非常快。
public class PolynomialFFTextends polynomial
{
//utility field
final protected static Complex p|2|=new Complex(0.0D,6.283185307179586D);
//utility methods
protected static int log2(int n)
{
int x=1;
int c=0;
while(true)
{
if (x>=n) break;
++c;
x<<=1;
if (x==0) break;
}
return c;
}
protected static int FlipBits(int k,int bits)
{
int lm=1<<(bits-1);
int rm=1;
int r=0;
while (lm != 0)
{
if ((k&rm)!=0)
{
r|=lm;
lm>>=1;
rm<<=1;
}
}
return r;
}
};
//increase degree to power of two
protected static PolynomialFFT stretchFFT(PolynomialFFT p)
{
int n=1;
int d=p.m_nDegree;
while(true)
{
if (d<=n) break;
n<<=1;
if (n==0)
{
throw new ArithmeticException("StretchFFT failed");
}
n<<=1;
return new PolynomialFFT(p.stretch(n));
}
}
//待续
ping命令详解
对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。
现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在安装了TCP/IP协议以后才可以使用:
Options:
-t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C.
不停的ping地方主机,直到你按下Control-C。
此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。
-a Resolve addresses to hostnames.
解析计算机NetBios名。
示例:C:\>ping -a 192.168.1.21
Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data:
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Ping statistics for 192.168.1.21:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com。
-l size Send buffer size.
定义echo数据包大小。
在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能挡机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负)
C:\>ping -l 65500 -t 192.168.1.21
Pinging 192.168.1.21 with 65500 bytes of data:
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
………………
这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP服务完全停止,由此可见威力非同小可。
r count Record route for count hops.
在“记录路由”字段中记录传出和返回数据包的路由。
在一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由,如果想探测更多,可以通过其他命令实现,我将在以后的文章中给大家讲解。以下为示例:
C:\>ping -n 1 -r 9 202.96.105.101 (发送一个数据包,最多记录9个路由)
Pinging 202.96.105.101 with 32 bytes of data:
Reply from 202.96.105.101: bytes=32 time=10ms TTL=249
Route: 202.107.208.187 ->
202.107.210.214 ->
61.153.112.70 ->
61.153.112.89 ->
202.96.105.149 ->
202.96.105.97 ->
202.96.105.101 ->
202.96.105.150 ->
61.153.112.90
Ping statistics for 202.96.105.101:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 10ms, Average = 10ms
从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 ,202.107.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97这几个路由。
ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,TTL 字段值可以帮助我们识别操作系统类型。
UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64
微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32
当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DefaultTTL"=dword:000000ff
255---FF
128---80
64----40
32----20
好了,ping命令也基本上完全讲解完了,其中还有-j,-k参数我还没有详细说明,由于某些原因也包括我自己所收集的资料过少这里也没有向大家详细介绍,请大家见谅,如果在看了这篇文章的朋友当中有知道得比我更多的,以及其他使用技巧的也希望您能告诉我,并在此先谢过。
Windows 开始→运行→命令 集锦
winver---------检查Windows版本
wmimgmt.msc----打开windows管理体系结构(WMI)
wupdmgr--------windows更新程序
wscript--------windows脚本宿主设置
write----------写字板
winmsd---------系统信息
wiaacmgr-------扫描仪和照相机向导
winchat--------XP自带局域网聊天
mem.exe--------显示内存使用情况
Msconfig.exe---系统配置实用程序
mplayer2-------简易widnows media player
mspaint--------画图板
mstsc----------远程桌面连接
mplayer2-------媒体播放机
magnify--------放大镜实用程序
mmc------------打开控制台
mobsync--------同步命令
dxdiag---------检查DirectX信息
drwtsn32------ 系统医生
devmgmt.msc--- 设备管理器
dfrg.msc-------磁盘碎片整理程序
diskmgmt.msc---磁盘管理实用程序
dcomcnfg-------打开系统组件服务
ddeshare-------打开DDE共享设置
dvdplay--------DVD播放器
net stop messenger-----停止信使服务
net start messenger----开始信使服务
notepad--------打开记事本
nslookup-------网络管理的工具向导
ntbackup-------系统备份和还原
narrator-------屏幕“讲述人”
ntmsmgr.msc----移动存储管理器
ntmsoprq.msc---移动存储管理员操作请求
netstat -an----(TC)命令检查接口
syncapp--------创建一个公文包
sysedit--------系统配置编辑器
sigverif-------文件签名验证程序
sndrec32-------录音机
shrpubw--------创建共享文件夹
secpol.msc-----本地安全策略
syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
services.msc---本地服务设置
Sndvol32-------音量控制程序
sfc.exe--------系统文件检查器
sfc /scannow---windows文件保护
tsshutdn-------60秒倒计时关机命令
tourstart------xp简介(安装完成后出现的漫游xp程序)
taskmgr--------任务管理器
eventvwr-------事件查看器
eudcedit-------造字程序
explorer-------打开资源管理器
packager-------对象包装程序
perfmon.msc----计算机性能监测程序
progman--------程序管理器
regedit.exe----注册表
rsop.msc-------组策略结果集
regedt32-------注册表编辑器
rononce -p ----15秒关机
regsvr32 /u *.dll----停止dll文件运行
regsvr32 /u zipfldr.dll------取消ZIP支持
cmd.exe--------CMD命令提示符
chkdsk.exe-----Chkdsk磁盘检查
certmgr.msc----证书管理实用程序
calc-----------启动计算器
charmap--------启动字符映射表
cliconfg-------SQL SERVER 客户端网络实用程序
Clipbrd--------剪贴板查看器
conf-----------启动netmeeting
compmgmt.msc---计算机管理
cleanmgr-------垃圾整理
ciadv.msc------索引服务程序
osk------------打开屏幕键盘
odbcad32-------ODBC数据源管理器
oobe/msoobe /a----检查XP是否激活
lusrmgr.msc----本机用户和组
logoff---------注销命令
iexpress-------木马捆绑工具,系统自带
Nslookup-------IP地址侦测器
fsmgmt.msc-----共享文件夹管理器
utilman--------辅助工具管理器
gpedit.msc-----组策略
我想大家都看过各种各样的滚动(最常用的就是用在新闻的更新上面),一般情况下只要不是图片,都是用HTML本身就有提供一个很不错的滚动标记——marquee来完成的(用JS也可以同样实现这种效果);当然并不是说图片就不能那样做。
以下为marquee的一些基本的参数:
该标记语法格式如下:
<marquee
aligh=left|center|right|top|bottom
bgcolor=#n
direction=left|right|up|down
behavior=type
height=n
hspace=n
scrollamount=n
Scrolldelay=n
width=n
VSpace=n
loop=n>内容</marquee>
下面解释一下各参数的含义:
align:是设定活动字幕的位置,除了居左、居中、居右三种位置外,又增加靠上(top)和靠下(bottom)两种位置。
Bgcolor:用于设定活动字幕的背景颜色,可以使用英文的单词也可以是十六进制数的。
Direction:用于设定活动字幕的滚动方向是向左(left)、向右(right)、向上(up)、向下(down)。
Behavior:用于设定滚动的方式,主要由三种方式:
behavior="scroll"表示由一端滚动到另一端;
behavior="slide":表示由一端快速滑动到另一端,且不再重复;
behavior="alternate"表示在两端之间来回滚动。
Height:用于设定滚动字幕的高度。
Width:则设定滚动字幕的宽度。
Hspace和vspace:分别用于设定滚动字幕的左右边框和上下边框的宽度。
Scrollamount:用于设定活动字幕的滚动距离。数值越小,滚动的速度就越快。
scrolldelay:用于设定滚动两次之间的延迟时间,数值越小,间隔就越小。
Loop:用于设定滚动的次数,当loop=-1表示一直滚动下去,直到页面更新。其中默认情况是向左滚动无限次,字幕高度是文本高度;滚动范围:水平滚动的宽度是当前位置的宽度;垂直滚动的高度是当前位置的高度。
现在要介绍的是一种新型的滚动,利用JS的方法来做字幕的滚动:向上,在中间停顿一到两秒(就像经典的这种):
将以下代码贴到您要显示的位置就可以了:
<script>
var marqueeContent=new Array(); //定义一个数组,用来存放显示内容
marqueeContent[0]='<A href="#" onclick="reinitMarquee()">刷新最新列表</FONT></A>';
marqueeContent[1]='<a href=http://www.blueidea.com/updatelist.asp target=_blank>站点最新更新六十条</a>';
marqueeContent[2]='<A href=http://www.blueidea.com/tech/graph/2003/875.asp target=_blank>羽毛效果制作教程</a>';
marqueeContent[3]='<A href=http://www.blueidea.com/tech/program/2003/831.asp target=_blank>MySQL&ASP</a>';
marqueeContent[4]='<A href=http://www.blueidea.com/tech/web/2003/874.asp target=_blank>初步了解CSS3</a>';
marqueeContent[5]='<A href=http://www.blueidea.com/tech/graph/2003/864.asp target=_blank>Fireworks MX 2004执行面版操作</a>';
marqueeContent[6]='<A href=http://www.blueidea.com/tech/graph/2003/872.asp target=_blank>Fireworks MX 2004等高渐变填充</a>';
marqueeContent[7]='<A href=http://www.blueidea.com/photo/gallery/2003/873.asp target=_blank>瓶子里的花</a>';
marqueeContent[8]='<A href=http://www.blueidea.com/tech/graph/2003/871.asp target=_blank>Fireworks MX 实现选项卡式效果</a>';
marqueeContent[9]='<A href=http://www.blueidea.com/photo/gallery/2003/870.asp target=_blank>情侣:黑白的爱情空气</a>';
marqueeContent[10]='<A href=http://www.blueidea.com/tech/graph/2003/866.asp target=_blank>制作 MAC 风格的苹果标志</a>';
marqueeContent[11]='<A href=http://www.blueidea.com/tech/graph/2003/868.asp target=_blank>蛋壳制作及破壳而出的人物合成</a>';
var marqueeInterval=new Array(); //定义一些常用而且要经常用到的变量
var marqueeId=0;
var marqueeDelay=4000;
var marqueeHeight=16;
//接下来的是定义一些要使用到的函数
Array.prototype.random=function() {
var a=this;
var l=a.length;
for(var i=0;i<l;i++) {
var r=Math.floor(Math.random()*(l-i));
a=a.slice(0,r).concat(a.slice(r+1)).concat(a[r]);
}
return a;
}
function initMarquee() {
marqueeContent=marqueeContent.random();
var str='';
for(var i=0;i<Math.min(3,marqueeContent.length);i++) str+=(i>0?' ':'')+marqueeContent[i];
document.write('<div id=marqueeBox style="overflow:hidden;height:'+marqueeHeight+'px" onmouseover="clearInterval(marqueeInterval[0])" onmouseout="marqueeInterval[0]=setInterval(\'startMarquee()\',marqueeDelay)"><div>'+str+'</div></div>');
marqueeId+=2;
if(marqueeContent.length>3)marqueeInterval[0]=setInterval("startMarquee()",marqueeDelay);
}
function reinitMarquee() {
js_scroll_content.src='scroll_content2.js';
marqueeContent=marqueeContent.random();
var str='';
for(var i=0;i<Math.min(3,marqueeContent.length);i++) str+=(i>0?' ':'')+marqueeContent[i];
marqueeBox.childNodes[(marqueeBox.childNodes.length==1?0:1)].innerHTML=str;
marqueeId=2;
}
function startMarquee() {
var str='';
for(var i=0;(i<3)&&(marqueeId+i<marqueeContent.length);i++) {
str+=(i>0?' ':'')+marqueeContent[marqueeId+i];
}
marqueeId+=3;
if(marqueeId>marqueeContent.length)marqueeId=0;
if(marqueeBox.childNodes.length==1) {
var nextLine=document.createElement('DIV');
nextLine.innerHTML=str;
marqueeBox.appendChild(nextLine);
}
else {
marqueeBox.childNodes[0].innerHTML=str;
marqueeBox.appendChild(marqueeBox.childNodes[0]);
marqueeBox.scrollTop=0;
}
clearInterval(marqueeInterval[1]);
marqueeInterval[1]=setInterval("scrollMarquee()",20);
}
function scrollMarquee() {
marqueeBox.scrollTop++;
if(marqueeBox.scrollTop%marqueeHeight==(marqueeHeight-1)){
clearInterval(marqueeInterval[1]);
}
}
initMarquee();
</script> 以上已经将网站的这种滚动的做法做了一个大概的介绍。
<script> <!--
var limit="0:15"
if (document.images){ var parselimit=limit.split(":") parselimit=parselimit[0]*60+parselimit[1]*1 } function beginrefresh(){ if (!document.images) return if (parselimit==1) window.location.reload() else{ parselimit-=1 curmin=Math.floor(parselimit/60) cursec=parselimit%60 if (curmin!=0) curtime=curmin+"分"+cursec+"秒后重刷本页!" else curtime=cursec+"秒后重刷本页!" window.status=curtime setTimeout("beginrefresh()",1000) } }
window.onload=beginrefresh //--> </script>
以上代码加入HEAD区即可。
说明:有人说,我可以使用<meta http-equiv="refresh">来刷新当前页面,为什么要用这个脚本呢?是的,的确是这样。但是这个脚本可以在状态栏显示剩余的时间。不管怎样,随您的便。其实这个脚本可以作出其它许多花样的。如果将window.location.reload()改成window.location.href="http://www.yahoo.com"等地址,可以在规定时间到来后指向任意的页面。 |
源程序讲解:
var limit="0:10"
声明一个变量,表示几分几秒。
if (document.images)
{ var parselimit=limit.split(":")
用“;”分隔变量limit。
parselimit=parselimit[0]*60+
parselimit[1]*1}
把limit变量变成秒数,并返回整数。
function beginrefresh()
{ if (!document.images)
return
定义刷新函数。
if (parselimit==1)
window.location.reload()
else{ parselimit-=1
curmin=Math.floor(parselimit/60) cursec=parselimit%60
if (curmin!=0)
curtime=curmin+"分"+cursec+
"秒后重刷本页!"
else curtime=cursec+"秒后重刷本页!"
window.status=curtime
如果,还剩一秒,就刷新页面,否则,对limit变量取整,在状态栏中输出“几分几秒后刷新本页”。
setTimeout("beginrefresh()",1000) }} 一秒,调用一次beginrefresh()函数。
window.onload=beginrefresh 页面一下载,就调用beginrefresh函数。
源程序讲解:
var limit="0:10"
声明一个变量,表示几分几秒。
if (document.images)
{ var parselimit=limit.split(":")
用“;”分隔变量limit。
parselimit=parselimit[0]*60+
parselimit[1]*1}
把limit变量变成秒数,并返回整数。
function beginrefresh()
{ if (!document.images)
return
定义刷新函数。
if (parselimit==1)
window.location.reload()
else{ parselimit-=1
curmin=Math.floor(parselimit/60) cursec=parselimit%60
if (curmin!=0)
curtime=curmin+"分"+cursec+
"秒后重刷本页!"
else curtime=cursec+"秒后重刷本页!"
window.status=curtime
如果,还剩一秒,就刷新页面,否则,对limit变量取整,在状态栏中输出“几分几秒后刷新本页”。
setTimeout("beginrefresh()",1000) }} 一秒,调用一次beginrefresh()函数。
window.onload=beginrefresh 页面一下载,就调用beginrefresh函数。
HTML源代码加密/解密工具
->
脚本编码/解码工具
|
摘要: 标准颜色参考工具
该表所有颜色来自于W3C的SVG颜色关键词,即X11的颜色列表,亦是CSS3颜色模块所指定的颜色。详情可参见: [X11颜色]和[SVG 1.0颜色关键词名称]及 [CSS3颜色模块] 。
本表共147行颜色值,除去以grey名命的重复颜色7行,共140种命名颜色。该七种颜色为: darkgrey,暗灰色;darkslategrey,暗瓦灰色;dimgrey,暗灰色...
阅读全文
颜色工具
- 资料来源:W3C
- 下面的每一个表代表一种色调。每个色调以30度间隔从色环取得。
- 表中的X轴代表饱和度(100%, 75%, 50%, 25%, 0%)。
- Y轴代表亮度。50% 属于 '正常'。
|
0度 红 |
|
|
|
100% |
75% |
50% |
25% |
0% |
100 |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
88 |
#FFBFBF |
#F7C7C7 |
#EFCFCF |
#E7D7D7 |
#DFDFDF |
75 |
#FF8080 |
#EF8F8F |
#DF9F9F |
#CFAFAF |
#BFBFBF |
63 |
#FF4040 |
#E75858 |
#CF7070 |
#B78787 |
#9F9F9F |
50 |
#FF0000 |
#DF2020 |
#BF4040 |
#9F6060 |
#808080 |
38 |
#BF0000 |
#A71818 |
#8F3030 |
#784848 |
#606060 |
25 |
#800000 |
#701010 |
#602020 |
#503030 |
#404040 |
13 |
#400000 |
#380808 |
#301010 |
#281818 |
#202020 |
0 |
#000000 |
#000000 |
#000000 |
#000000 |
#000000 |
|
30度 红-黄 (=橙) |
|
饱和度 |
|
100% |
75% |
50% |
25% |
0% |
100 |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
88 |
#FFDFBF |
#F7DFC7 |
#EFDFCF |
#E7DFD7 |
#DFDFDF |
75 |
#FFBF80 |
#EFBF8F |
#DFBF9F |
#CFBFAF |
#BFBFBF |
63 |
#FF9F40 |
#E79F58 |
#CF9F70 |
#B79F87 |
#9F9F9F |
50 |
#FF8000 |
#DF8020 |
#BF8040 |
#9F8060 |
#808080 |
38 |
#BF6000 |
#A76018 |
#8F6030 |
#786048 |
#606060 |
25 |
#804000 |
#704010 |
#604020 |
#504030 |
#404040 |
13 |
#402000 |
#382008 |
#302010 |
#282018 |
#202020 |
0 |
#000000 |
#000000 |
#000000 |
#000000 |
#000000 |
|
60度 黄 |
|
饱和度 |
|
100% |
75% |
50% |
25% |
0% |
100 |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
88 |
#FFFFBF |
#F7F7C7 |
#EFEFCF |
#E7E7D7 |
#DFDFDF |
75 |
#FFFF80 |
#EFEF8F |
#DFDF9F |
#CFCFAF |
#BFBFBF |
63 |
#FFFF40 |
#E7E758 |
#CFCF70 |
#B7B787 |
#9F9F9F |
50 |
#FFFF00 |
#DFDF20 |
#BFBF40 |
#9F9F60 |
#808080 |
38 |
#BFBF00 |
#A7A718 |
#8F8F30 |
#787848 |
#606060 |
25 |
#808000 |
#707010 |
#606020 |
#505030 |
#404040 |
13 |
#404000 |
#383808 |
#303010 |
#282818 |
#202020 |
0 |
#000000 |
#000000 |
#000000 |
#000000 |
#000000 |
|
90度 黄-绿 |
|
饱和度 |
|
100% |
75% |
50% |
25% |
0% |
100 |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
88 |
#DFFFBF |
#DFF7C7 |
#DFEFCF |
#DFE7D7 |
#DFDFDF |
75 |
#BFFF80 |
#BFEF8F |
#BFDF9F |
#BFCFAF |
#BFBFBF |
63 |
#9FFF40 |
#9FE758 |
#9FCF70 |
#9FB787 |
#9F9F9F |
50 |
#80FF00 |
#80DF20 |
#80BF40 |
#809F60 |
#808080 |
38 |
#60BF00 |
#60A718 |
#608F30 |
#607848 |
#606060 |
25 |
#408000 |
#407010 |
#406020 |
#405030 |
#404040 |
13 |
#204000 |
#203808 |
#203010 |
#202818 |
#202020 |
0 |
#000000 |
#000000 |
#000000 |
#000000 |
#000000 |
|
120度 绿 |
|
饱和度 |
|
100% |
75% |
50% |
25% |
0% |
100 |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
88 |
#BFFFBF |
#C7F7C7 |
#CFEFCF |
#D7E7D7 |
#DFDFDF |
75 |
#80FF80 |
#8FEF8F |
#9FDF9F |
#AFCFAF |
#BFBFBF |
63 |
#40FF40 |
#58E758 |
#70CF70 |
#87B787 |
#9F9F9F |
50 |
#00FF00 |
#20DF20 |
#40BF40 |
#609F60 |
#808080 |
38 |
#00BF00 |
#18A718 |
#308F30 |
#487848 |
#606060 |
25 |
#008000 |
#107010 |
#206020 |
#305030 |
#404040 |
13 |
#004000 |
#083808 |
#103010 |
#182818 |
#202020 |
0 |
#000000 |
#000000 |
#000000 |
#000000 |
#000000 |
|
150度 绿-青 |
|
饱和度 |
|
100% |
75% |
50% |
25% |
0% |
100 |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
88 |
#BFFFDF |
#C7F7DF |
#CFEFDF |
#D7E7DF |
#DFDFDF |
75 |
#80FFBF |
#8FEFBF |
#9FDFBF |
#AFCFBF |
#BFBFBF |
63 |
#40FF9F |
#58E79F |
#70CF9F |
#87B79F |
#9F9F9F |
50 |
#00FF80 |
#20DF80 |
#40BF80 |
#609F80 |
#808080 |
38 |
#00BF60 |
#18A760 |
#308F60 |
#487860 |
#606060 |
25 |
#008040 |
#107040 |
#206040 |
#305040 |
#404040 |
13 |
#004020 |
#083820 |
#103020 |
#182820 |
#202020 |
0 |
#000000 |
#000000 |
#000000 |
#000000 |
#000000 |
|
180度 青 |
|
饱和度 |
|
100% |
75% |
50% |
25% |
0% |
100 |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
88 |
#BFFFFF |
#C7F7F7 |
#CFEFEF |
#D7E7E7 |
#DFDFDF |
75 |
#80FFFF |
#8FEFEF |
#9FDFDF |
#AFCFCF |
#BFBFBF |
63 |
#40FFFF |
#58E7E7 |
#70CFCF |
#87B7B7 |
#9F9F9F |
50 |
#00FFFF |
#20DFDF |
#40BFBF |
#609F9F |
#808080 |
38 |
#00BFBF |
#18A7A7 |
#308F8F |
#487878 |
#606060 |
25 |
#008080 |
#107070 |
#206060 |
#305050 |
#404040 |
13 |
#004040 |
#083838 |
#103030 |
#182828 |
#202020 |
0 |
#000000 |
#000000 |
#000000 |
#000000 |
#000000 |
|
210度 青-蓝 |
|
饱和度 |
|
100% |
75% |
50% |
25% |
0% |
100 |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
88 |
#BFDFFF |
#C7DFF7 |
#CFDFEF |
#D7DFE7 |
#DFDFDF |
75 |
#80BFFF |
#8FBFEF |
#9FBFDF |
#AFBFCF |
#BFBFBF |
63 |
#409FFF |
#589FE7 |
#709FCF |
#879FB7 |
#9F9F9F |
50 |
#0080FF |
#2080DF |
#4080BF |
#60809F |
#808080 |
38 |
#0060BF |
#1860A7 |
#30608F |
#486078 |
#606060 |
25 |
#004080 |
#104070 |
#204060 |
#304050 |
#404040 |
13 |
#002040 |
#082038 |
#102030 |
#182028 |
#202020 |
0 |
#000000 |
#000000 |
#000000 |
#000000 |
#000000 |
|
240度 蓝 |
|
饱和度 |
|
100% |
75% |
50% |
25% |
0% |
100 |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
88 |
#BFBFFF |
#C7C7F7 |
#CFCFEF |
#D7D7E7 |
#DFDFDF |
75 |
#8080FF |
#8F8FEF |
#9F9FDF |
#AFAFCF |
#BFBFBF |
63 |
#4040FF |
#5858E7 |
#7070CF |
#8787B7 |
#9F9F9F |
50 |
#0000FF |
#2020DF |
#4040BF |
#60609F |
#808080 |
38 |
#0000BF |
#1818A7 |
#30308F |
#484878 |
#606060 |
25 |
#000080 |
#101070 |
#202060 |
#303050 |
#404040 |
13 |
#000040 |
#080838 |
#101030 |
#181828 |
#202020 |
0 |
#000000 |
#000000 |
#000000 |
#000000 |
#000000 |
|
270度 蓝-紫 |
|
饱和度 |
|
100% |
75% |
50% |
25% |
0% |
100 |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
88 |
#DFBFFF |
#DFC7F7 |
#DFCFEF |
#DFD7E7 |
#DFDFDF |
75 |
#BF80FF |
#BF8FEF |
#BF9FDF |
#BFAFCF |
#BFBFBF |
63 |
#9F40FF |
#9F58E7 |
#9F70CF |
#9F87B7 |
#9F9F9F |
50 |
#8000FF |
#8020DF |
#8040BF |
#80609F |
#808080 |
38 |
#6000BF |
#6018A7 |
#60308F |
#604878 |
#606060 |
25 |
#400080 |
#401070 |
#402060 |
#403050 |
#404040 |
13 |
#200040 |
#200838 |
#201030 |
#201828 |
#202020 |
0 |
#000000 |
#000000 |
#000000 |
#000000 |
#000000 |
|
300度 紫 |
|
饱和度 |
|
100% |
75% |
50% |
25% |
0% |
100 |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
88 |
#FFBFFF |
#F7C7F7 |
#EFCFEF |
#E7D7E7 |
#DFDFDF |
75 |
#FF80FF |
#EF8FEF |
#DF9FDF |
#CFAFCF |
#BFBFBF |
63 |
#FF40FF |
#E758E7 |
#CF70CF |
#B787B7 |
#9F9F9F |
50 |
#FF00FF |
#DF20DF |
#BF40BF |
#9F609F |
#808080 |
38 |
#BF00BF |
#A718A7 |
#8F308F |
#784878 |
#606060 |
25 |
#800080 |
#701070 |
#602060 |
#503050 |
#404040 |
13 |
#400040 |
#380838 |
#301030 |
#281828 |
#202020 |
0 |
#000000 |
#000000 |
#000000 |
#000000 |
#000000 |
|
330度 紫-红 |
|
饱和度 |
|
100% |
75% |
50% |
25% |
0% |
100 |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
#FFFFFF |
88 |
#FFBFDF |
#F7C7DF |
#EFCFDF |
#E7D7DF |
#DFDFDF |
75 |
#FF80BF |
#EF8FBF |
#DF9FBF |
#CFAFBF |
#BFBFBF |
63 |
#FF409F |
#E7589F |
#CF709F |
#B7879F |
#9F9F9F |
50 |
#FF0080 |
#DF2080 |
#BF4080 |
#9F6080 |
#808080 |
38 |
#BF0060 |
#A71860 |
#8F3060 |
#784860 |
#606060 |
25 |
#800040 |
#701040 |
#602040 |
#503040 |
#404040 |
13 |
#400020 |
#380820 |
#301020 |
#281820 |
#202020 |
0 |
#000000 |
#000000 |
#000000 |
#000000 |
#000000 |
1.Stream对象
组件:"Adodb.Stream"
有下列方法:
Cancel 方法
使用方法如下
Object.Cancel
说明:取消执行挂起的异步 Execute 或 Open 方法的调用。
Close 方法
使用方法如下
Object.Close
:关闭对像
CopyTo 方法
使用方法如下
Object.CopyTo(destStream,[CharNumber])
说明:将对像的数据复制,destStream指向要复制的对像,CharNumber为可选参数,指要复制的字节数,不选为全部复制。
Flush 方法
使用方法如下
Object.Flush
说明:
LoadFromFile 方法
使用方法如下
Object.LoadFromFile(FileName)
说明:将FileName指定的文件装入对像中,参数FileName为指定的用户名。
Open 方法
使用方法如下
Object.Open(Source,[Mode],[Options],[UserName],[Password])
说明:打开对像,
参数说明:Sourece 对像源,可不指定
Mode 指定打开模式,可不指定,可选参数如下:
adModeRead =1
adModeReadWrite =3
adModeRecursive =4194304
adModeShareDenyNone =16
adModeShareDenyRead =4
adModeShareDenyWrite =8
adModeShareExclusive =12
adModeUnknown =0
adModeWrite =2
Options 指定打开的选项,可不指定,可选参数如下:
adOpenStreamAsync =1
adOpenStreamFromRecord =4
adOpenStreamUnspecified=-1
UserName 指定用户名,可不指定。
Password 指定用户名的密码
Read 方法
使用方法如下:
Object.Read(Numbytes)
说明:读取指定长度的二进制内容。
参数说明:Numbytes指定的要读取的找度,不指定则读取全部。
ReadText 方法
使用方法如下:
Object.ReadText(NumChars)
说明:读取指定长度的文本
参数说明:NumChars指定的要读取的找度,不指定则读取全部。
SaveToFile 方法
使用方法如下:
Object.SaveToFile(FileName,[Options])
说明:将对像的内容写到FileName指定的文件中
参数说明:FileName指定的文件
Options 存取的选项,可不指定,可选参数如下:
adSaveCreateNotExist =1
adSaveCreateOverWrite =2
SetEOS 方法
使用方法如下:
Object.setEOS()
说明:
SkipLine 方法
使用方法如下:
Object.SkipLine()
说明:
Write 方法
使用方法如下:
Object.Write(Buffer)
说明:将指定的数据装入对像中。
参数说明:Buffer 为指定的要写入的内容。
WriteText 方法
使用方法如下:
Object.Write(Data,[Options])
说明:将指定的文本数据装入对像中。
参数说明:Data 为指定的要写入的内容。
Options 写入的选项,可不指定,可选参数如下:
adWriteChar =0
adWriteLine =1
有下列属性:
Charset
EOS 返回对像内数据是否为空。
LineSeparator 指定换行格式,可选参数有
adCR =13
adCRLF =-1
adLF =10
Mode 指定或返加模式。
Position 指定或返回对像内数据的当前指针。(新OPEN的:0)
Size 返回对像内数据的大小。
State 返加对像状态是否打开。
Type 指定或返回的数据类型,可选参数为:
adTypeBinary =1
adTypeText =2
2.WshShell和WshUrlShortcut 对象
WshShell 对象
ProgID Wscript.Shell
文件名 WSHom.Ocx
CLSID F935DC22-1CF0-11d0-ADB9-00C04FD58A0B
IID F935DC21-1CF0-11d0-ADB9-00C04FD58A0B
下表说明和 WshShell 对象有关的属性。
属性 说明
Environment 返回 WshEnvironment 集合对象。
SpecialFolders 使用 WshSpecialFolders 对象提供对 Windows shell 文件夹的访问,如桌面文件夹,开始菜单文件夹和个人文档文件夹。
下表说明和 WshShell 对象有关的方法。
方法 说明
CreateShortcut 创建并返回 WshShortcut 对象。
ExpandEnvironmentStrings 扩展 PROCESS 环境变量并返回结果字符串。
Popup 显示包含指定消息的消息窗口。
RegDelete 从注册表中删除指定的键或值。
RegRead 从注册表中返回指定的键或值。
RegWrite 在注册表中设置指定的键或值。
Run 创建新的进程,该进程用指定的窗口样式执行指定的命令。
WshShell.Environment
Environment 属性返回 WshEnvironment 对象。
语法
WshShell.Environment ( [strType]) = objWshEnvironment
注释
若 strType 指定了环境变量所处的位置,可能值为 "System"、"User"、"Volatile" 和 "Process"。若未提供 strType,则该方法在 Windows NT 中检索系统环境变量或在 Windows 95 中检索进程环境变量。
对于 Windows 95,strType 参数仅支持 "Process"。
下列变量是由 Windows 操作系统提供的。脚本也可获取由其他应用程序设置的环境变量。
名称 说明
NUMBER_OF_PROCESSORS 计算机上运行的处理器数目。
PROCESSOR_ARCHITECTURE 用户工作站使用的处理器类型。
PROCESSOR_IDENTIFIER 用户工作站的处理器 ID。
PROCESSOR_LEVEL 用户工作站的处理器级。
PROCESSOR_REVISION 用户工作站的处理器版本。
OS 用户工作站所用的操作系统。
COMSPEC 用于运行“命令提示”窗口的命令(通常为 cmd.exe)。
HOMEDRIVE 本地主驱动器(通常为 C 驱动器)。
HOMEPATH 用户的默认路径(在 Windows NT 上通常为 \users\default)。
PATH 路径环境变量。
PATHEXT 可执行文件的扩展名(通常为 .com、 .exe、.bat 或 .cmd)。
PROMPT 命令提示符(通常为 $P$G)。
SYSTEMDRIVE 系统所在的本地驱动器(例如,c:\)。
SYSTEMROOT 系统目录(例如,c:\winnt)。和 WINDIR 相同。
WINDIR 系统目录(例如 c:\winnt)。和 SYSTEMROOT 相同。
TEMP 存储临时文件的目录(例如,c:\temp)。用户可更改。
TMP 存储临时文件的目录(例如,c:\temp)。用户可更改。
示例
' Retrieve the NUMBER_OF_PROCESSORS system environment variable
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set WshSysEnv = WshShell.Environment("SYSTEM")
Wscript.Echo WshSysEnv("NUMBER_OF_PROCESSORS")
请参阅
WshEnvironment 对象
WshEnvironment 对象
WshEnvironment 对象未直接给出,可用 WshShell.Environment 属性来访问。
ProgID N/A
文件名 WSHom.Ocx
CLSID
IID
下表描述与 WshEnvironment 对象关联的属性。
属性 说明
Item 获取或设置指定的环境变量值。
Count 枚举项的数目。
length 枚举项的数目 (JScript)。
下表描述与 WshEnvironment 对象关联的方法。
方法 说明
Remove 删除指定的环境变量。
WshShell.SpecialFolders
SpecialFolders 属性提供 WshSpecialFolders 对象以便访问 Windows 的 shell 文件夹,例如桌面文件夹、开始菜单文件夹和个人文档文件夹。
语法
WshShell.SpecialFolders = objWshSpecialFolders
示例
' This code fragment shows how to access the desktop folder
Set WshShell = Wscript.CreateObject("Wscript.Shell")
MsgBox "Your desktop is " & WshShell.SpecialFolders("Desktop")
请参阅
WshSpecialFolders 对象
WshSpecialFolders 对象
该对象未直接给出。要得到 WshSpecialFolders 对象,请使用 WshShell.SpecialFolders 属性。
ProgID N/A
文件名 WSHom.Ocx
CLSID
IID
下表描述与 WshSpecialFolders 对象关联的属性。
属性 描述
Item 指定文件夹的完整路径(默认)。
Count 枚举项的数目。
length 枚举项的数目 (JScript) 。
WshSpecialFolders.Item
Item 属性返回由 strFolderName 指定的文件夹的完整路径。它是默认属性。
语法
WshShell.SpecialFolders.Item("strFolderName") = strFolderPath
WshShell.SpecialFolders("strFolderName") = strFolderPath
注释
若请求的文件夹 (strFolderName) 不可用,则 WshShell.SpecialFolders("strFolderName") 返回 NULL。例如,Windows 95 没有 AllUsersDesktop 文件夹,如果 strFolderName = AllUsersDesktop,则返回 NULL。
Windows 95 和 Windows NT 4.0 操作系统提供下列指定文件夹:
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates
示例
' This fragment returns the full path for the Windows Desktop folder
Set WshShell = Wscript.CreateObject("Wscript.Shell")
StrMyDesktop = WshShell.SpecialFolders("Desktop")
' List all special folders
For Each strFolder In WshShell.SpecialFolders
MsgBox strFolder
Next
请参阅
WshShell.SpecialFolders 属性
WshShell.CreateShortcut
CreateShortcut 方法创建 WshShortcut 对象并将其返回。如果快捷方式标题以 .url 结尾,就会创建 WshURLShortcut 对象。
语法
WshShell.CreateShortcut(strPathname) = objShortcut
示例
' This code fragment creates a shortcut
' to the currently executing script
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set oShellLink = WshShell.CreateShortcut("Current Script.lnk")
oShellLink.TargetPath = Wscript.ScriptFullName
oShellLink.Save
Set oUrlLink = WshShell.CreateShortcut("Microsoft Web Site.URL")
oUrlLink.TargetPath = "http://www.microsoft.com"
oUrlLink.Save
请参阅
WshShortcut 对象、WshUrlShortcut 对象
WshShortcut 对象
该对象未直接给出。要获得 WshShortcut 对象,请使用 WshShell.CreateShortcut 方法。
ProgID N/A
文件名 WSHom.Ocx
CLSID F935DC28-1CF0-11d0-ADB9-00C04FD58A0B
IID F935DC27-1CF0-11d0-ADB9-00C04FD58A0B
下表说明和 WshShortcut 对象有关的属性。
属性 说明
Arguments 快捷方式对象的参数。
Description 快捷方式对象的说明。
Hotkey 快捷方式对象的热键。
IconLocation 快捷方式对象的图标位置。
TargetPath 快捷方式对象的目标路径。
WindowStyle 快捷方式对象的窗口样式。
WorkingDirectory 快捷方式对象的工作目录。
下表说明与 WshShortcut 对象有关的方法。
方法 说明
Save 将快捷方式存储到指定的文件系统中。
WshShortcut.Arguments
Arguments 属性提供快捷方式对象的参数。
语法
WshShortcut.Arguments = strArguments
WshShortcut.Description
Description 属性提供快捷方式对象的说明。
语法
WshShortcut.Description = strDescription
WshShortcut.Hotkey
HotKey 属性提供快捷方式对象的热键。热键是启动或切换程序的键盘快捷方式。
语法
WshShortcut.HotKey = strHotKey
注释
strHotKey 的BNF语法如下:
Hotkey ::= modifier* keyname
modifier ::= "ALT+" | "CTRL+" | "SHIFT+" | "EXT+"
keyname ::= "A" .. "Z" |
"0".. "9" |
"Back" | "Tab" | "Clear" | "Return" |
"Escape" | "Space" | "Prior" | ...
所有键的名称都可以在 WINUSER.H 中找到。热键不区分大小写。
热键只能激活位于 Windows 桌面或 Windows“开始”菜单的快捷方式。
Windows 资源管理器不接受 ESC、ENTER、TAB、SPACE、PRINT SCREEN 或 BACKSPACE,即使 WshShortcut.Hotkey 遵循 Win32 API 支持它们。因此,建议在快捷方式中不要用这些键。
示例
Set WshShell = Wscript.CreateObject("Wscript.WshShell")
strDesktop = WshShell.SpecialFolders("Desktop")
Set oMyShortcut = WshShell.CreateShortcut(strDesktop & "\a_key.lnk")
OMyShortcut.TargetPath = "%windir%\notepad.exe"
oMyShortCut.Hotkey = "ALT+CTRL+F"
oMyShortCut.Save
Wscript.Echo oMyShortCut.HotKey = "Alt+Ctrl+F"
请参阅
WshSpecialFolders 对象
WshShortcut.IconLocation
IconLocation 属性提供快捷方式对象的图标位置。图标位置的格式应为 "Path,index"。
语法
WshShortcut.IconLocation = strIconLocation
WshShortcut.TargetPath
TargetPath 属性提供快捷方式对象的目标路径。
语法
WshShort
WshUrlShortcut 对象
该对象未直接给出。要获取 WshUrlShortcut 对象,可使用 WshShell.CreateShortcut 方法。
ProgID N/A
文件名 WSHom.Ocx
CLSID
IID
下表说明了和 WshUrlShortcut 对象有关的属性。
属性 说明
FullName URL 快捷方式对象的完整路径。
TargetPath URL 快捷方式对象的目标路径。
下表说明了和 WshUrlShortcut 对象有关的方法。
方法 说明
Save 将快捷方式保存到指定的文件系统中。
WshUrlShortcut.FullName
FullName 属性提供快捷方式对象的完整路径。
语法
WshUrlShortcut.FullName = strFullName
WshUrlShortcut.TargetPath
TargetPath 属性提供快捷方式对象的目标路径。
语法
WshUrlShortcut.TargetPath = strTargetPath
WshUrlShortcut.Save
Save 方法保存一个快捷方式,该快捷方式指向 FullName 属性指定的位置。
语法
WshUrlShortcut.Save
WshShell.ExpandEnvironmentStrings
ExpandEnvironmentStrings 方法在 strString 中扩展 PROCESS 环境变量并返回结果字符串。变量被 '%' 字符括起。
环境变量不区分大小写。
语法
WshShell.ExpandEnvironmentStrings(strString) = strExpandedString
示例
MsgBox "Prompt is " & WshShell.ExpandEnviromentStrings("%PROMPT%")
WshShell.Popup
Popup 方法显示一个弹出式消息框窗口,消息框中包含的消息由 strText 指定。该消息框的窗口标题由 strTitle 指定。若 strTitle 省略,则窗口标题为 Windows Scripting Host。
语法
WshShell.Popup(strText, [natSecondsToWait], [strTitle], [natType]) = intButton
注释
若提供 natSecondsToWait 且其值大于零,则消息框在 natSecondsToWait 秒后关闭。
natType 的含义与其在 Win32? MessageBox 函数中相同。下表显示 natType 中的值及含义。下表中的值可以组合。
按钮类型
值 说明
0 显示“确定”按钮
1 显示“确定”和“取消”按钮
2 显示“终止”、“重试”和“忽略”按钮
3 显示“是”、“否”和“取消”按钮
4 显示“是”和“否”按钮
5 显示“重试”和“取消”按钮
图标类型
值 说明
16 显示停止标记图标
32 显示问号图标
48 显示感叹号图标
64 显示信息标记图标
以上两个表并不涵盖 natType 的所有值。完整的列表请参阅 Win32 文档。
返回值 intButton 指示用户所单击的按扭编号。若用户在 natSecondsToWait 秒之前不单击按扭,则 intButton 设置为 -1 。
值 说明
1 “确定”按扭
2 “取消”按扭
3 “终止”按扭
4 “重试”按扭
5 “忽略”按扭
6 “是”按扭
7 “否”按扭
示例
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Popup "Where do you want to go today?"
请参阅
Wscript.Echo 方法
Wscript.Echo
Echo 方法在窗口(Wscript.exe 中)或“命令提示符”窗口(Cscript.exe 中)显示参数。
参数用空格分隔。在 Cscript.exe 中,该方法在显示最后一个参数之后输出一对回车/换行(CR LF)。
语法
Wscript.Echo [anyArg...]
示例
Wscript.Echo
Wscript.Echo 1, 2, 3
Wscript.Echo "Windows Scripting Host is cool."
WshShell.RegDelete
RegDelete 从注册表中删除名为 strName 的键或值。
语法
WshShell.RegDelete strName
参数
strName
如果 strName 以反斜杠 (\) 结束,则该方法删除键而不是值。
strName 参数必须以下列之一的根键名开始:
短根键名 长根键名
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
示例
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegDelete "HKCU\ScriptEngine\Value" ' Delete value "Value"
WshShell.RegDelete "HKCU\ScriptEngine\Key\" ' Delete key "Key"
请参阅
WshShell.RegRead 方法、WshShell.RegWrite 方法
WshShell.RegRead
RegRead 方法返回名为 strName 的注册表键或值。
语法
WshShell.RegRead(strName) = strValue
参数
strName
如果 strName 以反斜杠 (\) 结束,则该方法返回键,而不是值。
strName 参数必须以下列根键名开始。
Short Long
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
注释
RegRead 方法仅支持 REG_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY 和 REG_MULTI_SZ 数据类型。若注册表有其他数据类型,RegRead 返回 DISP_E_TYPEMISMATCH。
示例
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegRead("HKCU\ScriptEngine\Val") ' Read from value "Val"
WshShell.RegRead("HKCU\ScriptEngine\Key\") ' Read from key "Key"
请参阅
WshShell.RegDelete 方法、WshShell.RegWrite 方法
WshShell.RegWrite
RegWrite 方法设置名为 strName 的注册表键或值。
语法
WshShell.RegWrite strName, anyValue, [strType]
参数
strName
若 strName 以一个反斜杠 (\) 结束,则该方法设置键,而不是值。
strName 参数必须以下列根键名开头。
Short Long
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
anyValue
当 strType 为 REG_SZ 或 REG_EXPAND_SZ 时,RegWrite 方法自动将 anyValue 转换为字符串。若 strType 为 REG_DWORD,则 anyValue 被转换为整数。若 strType 为 REG_BINARY,则 anyValue 必须是一个整数。
strType
RegWrite 方法支持 strType 为 REG_SZ、REG_EXPAND_SZ、REG_DWORD 和 REG_BINARY。若其他的数据类型被作为 strType 传递,RegWrite 返回 E_INVALIDARG。
示例
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegWrite "HKCU\ScriptEngine\Value", "Some string value"
WshShell.RegWrite "HKCU\ScriptEngine\Key\", 1 "REG_DWORD"
请参阅
WshShell.RegDelete 方法、WshShell.RegWrite方法
WshShell.Run
Run 方法创建一个新的进程,该进程以 intWindowStyle 窗口样式执行 strCommand。
语法
WshShell.Run (strCommand, [intWindowStyle], [blnWaitOnReturn])
参数
strCommand
在 strCommand 参数内部的环境变量被自动扩展。
intWindowStyle
这是为新进程在 STARTUPINFO 结构内设置的 wShowWindow 元素的值。其意义与 ShowWindow 中的 nCmdShow 参数相同,可取以下值之一。名称 值 含义
SW_HIDE
0 隐藏窗口并激活另一窗口。
SW_MINIMIZE
6 最小化指定窗口并激活按 Z 序排序的下一个顶层窗口。
SW_RESTORE
9 激活并显示窗口。若窗口是最小化或最大化,则恢复到原来的大小和位置。在还原应用程序的最小化窗口时,应指定该标志。
SW_SHOW
5 以当前大小和位置激活并显示窗口。
SW_SHOWMAXIMIZED
3 激活窗口并以最大化显示该窗口。
SW_SHOWMINIMIZED
2 激活窗口并以最小化显示该窗口。
SW_SHOWMINNOACTIVE
7 最小化显示窗口。活动窗口保持活动。
SW_SHOWNA
8 以当前状态显示窗口。活动窗口保持活动。
SW_SHOWNOACTIVATE
4 按窗口最近的大小和位置显示。活动窗口保持活动。
SW_SHOWNORMAL
1 激活并显示一个窗口。若窗口是最小化或最大化,则恢复到其原来的大小和位置。
blnWaitOnReturn
如果未指定 blnWaitOnReturn 或其值为 FALSE,则该方法立即返回到脚本继续执行而不等待进程结束。
若 blnWaitOnReturn 设为 TRUE,则 Run 方法返回由应用程序返回的任何错误代码。如果未指定 blnWaitOnReturn 或其值为 FALSE,则 Run 返回错误代码 0(zero)。
示例
' This fragment launches Notepad with the current executed script
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("notepad " & Wscript.ScriptFullName)
WshShell.Run ("%windir%\notepad" & Wscript.ScriptFullName)
' This fragment returns the error code from the executed application
Return = WshShell.Run("notepad " & Wscript.ScriptFullName, 1, TRUE)
3. 关于Shell.Application的使用
3.1、创建 Shell 对象
var Shell = new ActiveXObject("Shell.Application");
3.2、使用 Shell 属性及方法
Shell.Application
Shell.Parent
Shell.CascadeWindows()
Shell.TileHorizontally()
Shell.TileVertically()
Shell.ControlPanelItem(sDir) /* 比如:sysdm.cpl */
Shell.EjectPC()
Shell.Explore(vDir)
Shell.Open(vDir)
Shell.FileRun()
Shell.FindComputer()
Shell.FindFiles()
Shell.Help()
Shell.MinimizeAll()
Shell.UndoMinimizeALL()
Shell.RefreshMenu()
Shell.SetTime()
Shell.TrayProperties()
Shell.ShutdownWindows()
Shell.Suspend()
oWindows = Shell.Windows() /* 返回ShellWindows对象 */
fFolder = Shell.NameSpace(vDir) /* 返回所打开的vDir的Folder对象 */
oFolder = Shell.BrowseForFolder(Hwnd, sTitle, iOptions [, vRootFolder]) /* 选择文件夹对话框 */
/*示例:
function BrowseFolder()
{
var Message = "清选择文件夹";
var Shell = new ActiveXObject( "Shell.Application" );
var Folder = Shell.BrowseForFolder(0,Message,0x0040,0x11);
if(Folder != null)
{
Folder = Folder.items(); // 返回 FolderItems 对象
Folder = Folder.item(); // 返回 Folderitem 对象
Folder = Folder.Path; // 返回路径
if(Folder.charAt(varFolder.length-1) != "\\"){
Folder = varFolder + "\\";
}
return Folder;
}
}
*/
/*示例:
var Folder = Shell.NameSpace("C:\\"); // 返回 Folder对象
*/