javascript取得機器名,用戶名,讀寫注冊表,啟動應用程序
//javascript有個特殊的對象ActiveXObject,通過它可以訪問windows的本地文件系統和應用程序,
比如:有的時候我們需要得到用戶的機器名,用戶名,得到某個文件的信息,或者讀寫注冊表,或者啟動計算器、outlook等應用程序。
下面是一些常用的方法,每個都經過了測試。
<script language="JavaScript">
//取得機器名,登錄域及登錄用戶名
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"));
}
}
//取得磁盤信息 傳入參數如:getdiskinfo('c')
function getdiskinfo(para)
{
var fs=new ActiveXObject("scripting.filesystemobject");
d=fs.GetDrive(para);
s="卷標:" + d.VolumnName;
s+="------" + "剩余空間:" + d.FreeSpace/1024/1024 + "M";
s+="------" + "磁盤序列號:" + d.serialnumber;
alert(s)
}
//取得系統目錄
function getprocessnum()
{
var pnsys=new ActiveXObject("WScript.shell");
pn=pnsys.Environment("PROCESS");
alert(pn("WINDIR"));
}
//啟動計算器
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("刪除路徑不正確");
}
}
}
//取得文件信息 調用方式如:getfileinfo('c:\\test.pdf')
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);
}
</script>