一、什么是 ActiveX 控件?
一般软件需要用户单独下载然后执行安装,而ActiveX插件是当用户浏览到特定的网页时,IE浏览器即可自动下载并提示用户安装。 ActiveX插件安装的一个前提是必须经过用户的同意及确认。考虑到这些风险,您应该在完全信任发行商的情况下才安装这些程序。
二、ActiveXObject对象详解
JavaScript中ActiveXObject对象是启用并返回 Automation对象的引用。
其中newObj是必选项。要赋值为 ActiveXObject 的变量名。
servername是必选项。提供该对象的应用程序的名称。
typename是必选项。要创建的对象的类型或类。
location是可选项。创建该对象的网络服务器的名称。
Automation服务器至少提供一类对象,例如字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。
ActiveObject的常用用法:
1. function getusername()
2. {
3. var WshNetwork = new ActiveXObject("WScript.Network");
4. "Domain = " + WshNetwork.UserDomain);
5. "Computer Name = " + WshNetwork.ComputerName);
6. "User Name = " + WshNetwork.UserName);
7. }
(2)取得系统目录
1. function getprocessnum()
2. {
3. var pnsys=new ActiveXObject("WScript.shell");
4. "PROCESS");
5. "WINDIR"));
6. }
1. function getspecialfolder()
2. {
3. var mygetfolder=new ActiveXObject("WScript.shell");
4. if(mygetfolder.SpecialFolders("Fonts")!=null)
5. {
6. "Fonts"));
7. }
8. }
1. function getdiskinfo(para)
2. {
3. var fs=new ActiveXObject("scripting.filesystemobject");
4. d=fs.GetDrive(para);
5. "卷标:" + d.VolumeName;
6. "------" + "剩余空间:" + d.FreeSpace/1024/1024 + "M";
7. "------" + "磁盘序列号:" + d.serialnumber;
8. alert(s);
9. }
1. function runcalc()
2. {
3. var calc=new ActiveXObject("WScript.shell");
4. "calc");
5. }
1. function readreg()
2. {
3. var myreadreg=new ActiveXObject("WScript.shell");
4. try{
5. "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\NeroCheck"));
6. }
7. catch(e)
8. {
9. "读取的值不存在!");
10. }
11. }
1. function writereg()
2. {
3. var mywritereg=new ActiveXObject("WScript.shell");
4. try{
5. "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest","c:\\mytest.exe");
6. "写入成功!");
7. }
8. catch(e)
9. {
10. "写入路径不正确!");
11. }
12. }
1. function delreg()
2. {
3. var mydelreg=new ActiveXObject("WScript.shell");
4. if(confirm("是否真的删除?"))
5. {
6. try{
7. "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest");
8. "删除成功!");
9. }
10. catch(e)
11. {
12. "删除路径不正确");
13. }
14. }
15. }
1. function getfileinfo(para)
2. {
3. var myfile=new ActiveXObject("scripting.filesystemobject");
4. var fi=myfile.GetFile(para);
5. "文件类型:"+fi.type+"文件大小:"+fi.size/1024/1024+"M"+"最后一次访问时间:"+fi.DateLastAccessed);
6. }
(10)取得客户端的信息
1. function clientInfo()
2. {
3. "availHeight= "+window.screen.availHeight+"\n"+
4. "availWidth= "+window.screen.availWidth+"\n"+
5. "bufferDepth= "+window.screen.bufferDepth+"\n"+
6. "colorDepth= "+window.screen.colorDepth+"\n"+
7. "colorEnable= "+window.navigator.cookieEnabled+"\n"+
8. "cpuClass= "+window.navigator.cpuClass+"\n"+
9. "height= "+window.screen.height+"\n"+
10. "javaEnable= "+window.navigator.javaEnabled()+"\n"+
11. "platform= "+window.navigator.platform+"\n"+
12. "systemLanguage= "+window.navigator.systemLanguage+"\n"+
13. "userLanguage= "+window.navigator.userLanguage+"\n"+
14. "width= "+window.screen.width;
15. alert(strClientInfo);
16. }
1. function createText1(){
2. var fso = new ActiveXObject("Scripting.FileSystemObject");
3. var f1 = fso.createtextfile("c:\\myjstest.txt",true);
4. }
5. function createText2(){
6. var fso = new ActiveXObject("Scripting.FileSystemObject");
7. var f1 = fso.GetFile("c:\\myjstest.txt");
8. }
1. function Run(strPath)
2. {
3. try
4. {
5. var objShell = new ActiveXObject("wscript.shell");
6. 'file:///D:/Program%20Files/Tencent/QQ/QQProtect/Bin/QQProtect.exe');
7. null;
8. }
9. catch(e)
10. {
11. '找不到文件"'+strPath+'"(或它的组件之一)。请确定路径和文件名是否正确.')
12. }
13. }