一、什么是 ActiveX 控件?
ActiveX 控件廣泛用於 Internet。它們可以通過提供視頻、動畫內容等來增加瀏覽的樂趣。不過,這些程序可能出問題或者向您提供不需要的內容。在某些情況下,這些程序可被用來以您不允許的方式從計算機收集信息、破壞您的計算機上的數據、在未經您同意的情況下在您的計算機上安裝軟件或者允許他人遠程控制您的計算機。
一般軟件需要用戶單獨下載然后執行安裝,而ActiveX插件是當用戶瀏覽到特定的網頁時,IE瀏覽器即可自動下載並提示用戶安裝。 ActiveX插件安裝的一個前提是必須經過用戶的同意及確認。考慮到這些風險,您應該在完全信任發行商的情況下才安裝這些程序。
二、ActiveXObject對象詳解
JavaScript中ActiveXObject對象是啟用並返回 Automation對象的引用。
使用方法:newObj = new ActiveXObject( servername.typename[, location])
其中newObj是必選項。要賦值為 ActiveXObject 的變量名。
servername是必選項。提供該對象的應用程序的名稱。
typename是必選項。要創建的對象的類型或類。
location是可選項。創建該對象的網絡服務器的名稱。
Automation服務器至少提供一類對象,例如字處理應用程序可能提供應用程序對象、文檔對象和工具欄對象。
ActiveObject的常用用法:
(1)取得機器名,登錄域及登錄用戶名
(2)取得系統目錄
- function getusername()
- {
- var WshNetwork = new ActiveXObject("WScript.Network");
- alert("Domain = " + WshNetwork.UserDomain);
- alert("Computer Name = " + WshNetwork.ComputerName);
- alert("User Name = " + WshNetwork.UserName);
- }
- function getprocessnum()
- {
- var pnsys=new ActiveXObject("WScript.shell");
- pn=pnsys.Environment("PROCESS");
- alert(pn("WINDIR"));
- }
- function getspecialfolder()
- {
- var mygetfolder=new ActiveXObject("WScript.shell");
- if(mygetfolder.SpecialFolders("Fonts")!=null)
- {
- alert(mygetfolder.SpecialFolders("Fonts"));
- }
- }
- function getdiskinfo(para)
- {
- var fs=new ActiveXObject("scripting.filesystemobject");
- d=fs.GetDrive(para);
- s="卷標:" + d.VolumeName;
- s+="------" + "剩余空間:" + d.FreeSpace/1024/1024 + "M";
- s+="------" + "磁盤序列號:" + d.serialnumber;
- alert(s);
- }
- function runcalc()
- {
- var calc=new ActiveXObject("WScript.shell");
- calc.Run("calc");
- }
- function readreg()
- {
- var myreadreg=new ActiveXObject("WScript.shell");
- try{
- alert(myreadreg.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\NeroCheck"));
- }
- catch(e)
- {
- alert("讀取的值不存在!");
- }
- }
- function writereg()
- {
- var mywritereg=new ActiveXObject("WScript.shell");
- try{
- mywritereg.RegWrite("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest","c:\\mytest.exe");
- alert("寫入成功!");
- }
- catch(e)
- {
- alert("寫入路徑不正確!");
- }
- }
- function delreg()
- {
- var mydelreg=new ActiveXObject("WScript.shell");
- if(confirm("是否真的刪除?"))
- {
- try{
- mydelreg.RegDelete("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest");
- alert("刪除成功!");
- }
- catch(e)
- {
- alert("刪除路徑不正確");
- }
- }
- }
- function getfileinfo(para)
- {
- var myfile=new ActiveXObject("scripting.filesystemobject");
- var fi=myfile.GetFile(para);
- alert("文件類型:"+fi.type+"文件大小:"+fi.size/1024/1024+"M"+"最后一次訪問時間:"+fi.DateLastAccessed);
- }
- function clientInfo()
- {
- strClientInfo="availHeight= "+window.screen.availHeight+"\n"+
- "availWidth= "+window.screen.availWidth+"\n"+
- "bufferDepth= "+window.screen.bufferDepth+"\n"+
- "colorDepth= "+window.screen.colorDepth+"\n"+
- "colorEnable= "+window.navigator.cookieEnabled+"\n"+
- "cpuClass= "+window.navigator.cpuClass+"\n"+
- "height= "+window.screen.height+"\n"+
- "javaEnable= "+window.navigator.javaEnabled()+"\n"+
- "platform= "+window.navigator.platform+"\n"+
- "systemLanguage= "+window.navigator.systemLanguage+"\n"+
- "userLanguage= "+window.navigator.userLanguage+"\n"+
- "width= "+window.screen.width;
- alert(strClientInfo);
- }
- function createText1(){
- var fso = new ActiveXObject("Scripting.FileSystemObject");
- var f1 = fso.createtextfile("c:\\myjstest.txt",true);
- }
- function createText2(){
- var fso = new ActiveXObject("Scripting.FileSystemObject");
- var f1 = fso.GetFile("c:\\myjstest.txt");
- }
- function Run(strPath)
- {
- try
- {
- var objShell = new ActiveXObject("wscript.shell");
- objShell.Run('file:///D:/Program%20Files/Tencent/QQ/QQProtect/Bin/QQProtect.exe');
- objShell = null;
- }
- catch(e)
- {
- alert('找不到文件"'+strPath+'"(或它的組件之一)。請確定路徑和文件名是否正確.')
- }
- }