ActiveXObject對象詳解


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM