学院首页>网络编程>其它编程> 使用Shell.Application技术

使用Shell.Application技术

作者: 来源: 添加时间:2006-5-21 20:50:20
function FileSearch()
 {
  SearchAsst = new ActiveXObject("SearchAssistantOC.SearchAssistantOC");
SearchAsst.FindFilesOrFolders();

//ShellApp = new ActiveXObject("Shell.Application");
  //ShellApp.ShowBrowserBar("{C4EE31F3-4768-11D2-BE5C-00A0C9A83DA1}", true);
  //与上效果相同
 }

function PersonSearch()
 {
SearchAsst = new ActiveXObject("SearchAssistantOC.SearchAssistantOC");
SearchAsst.FindPeople();
 }

function ShellExecuteExe()
 { 
ShellApp = new ActiveXObject("Shell.Application");

//var myprinterfolder = shell.NameSpace("shell:PrintersFolder");
//var mydocsfolder = shell.NameSpace("shell:personal");
//var mycompfolder = shell.NameSpace("shell:drivefolder");

//ShellApp.ShowBrowserBar("{C4EE31F3-4768-11D2-BE5C-00A0C9A83DA1}", true);

ShellApp.ShellExecute("cmd.exe");

 //ShellApp.ShellExecute("wiaacmgr.exe","/SelectDevice");
  //ShellApp.ShellExecute("rundll32.exe", "shell32.dll,Control_RunDLL sysdm.cpl,,1")
  //ShellApp.ShellExecute("rundll32.exe", "shell32.dll,Control_RunDLL netcpl.cpl,,1");
  //ShellApp.ShellExecute("rundll32.exe", "shell32.dll,Control_RunDLL sysdm.cpl,,1");

//对于FolderItems对象可以用InvokeVerbEx Method
  //ShellApp.NameSpace("c:\\xxx").Items().InvokeVerbEx("delete");
  //而通过InvokeVerb(x.Items().Item(0).Verbs().Item(i).Name);可以访问某个命令
  // win = ShellApp.NameSpace("c:\\xxx").Items().Item(0)
  // e = win.Verbs();
  // for(i=0;i<e.Count;i++){
  // document.writeln(e.Item(i).Name);
  // }
  // win.InvokeVerb(e.Item(0).Name);
 }

//=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
 //
 // BindToSA
 //
 // Bind to the specified url and return the cdo object for it.
 //
 function BindToSA(szURL){
  var adModeRead = 1;
  var oDoc = new ActiveXObject("CDO.KnowledgeStartAddress")
  oDoc.DataSource.Open(szURL, null, adModeRead, -1, 0, "", "")
  return oDoc;
 }

//=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
 //
 // BindToUrl
 //
 // Bind to the specified url and return the cdo object for it.
 //
 function BindToUrl(szURL){
  var adModeRead = 1;
  var oDoc = new ActiveXObject("CDO.KnowledgeDocument")
  oDoc.DataSource.Open(szURL, null, adModeRead, -1, 0, "", "")
  return oDoc;
 }

function Msg(str){
  //<object id=FolderControl classid="clsid:787e8fd0-7ad6-11d3-83da-00c04f505f43" style="position: absolute; left: 0px; top: 0px; visibility: hidden;">
  //var FolderControl = new ActiveXObject("Tahoe.FolderControl");
  FolderControl.TraceMsg(str);
 }

 ShellApp = new ActiveXObject("Shell.Application");
  //ShellApp.ShowBrowserBar("{C4EE31F3-4768-11D2-BE5C-00A0C9A83DA1}", true);

//ShellApp.ShellExecute("Rundll32.exe","shell32.dll,SHCreateLocalServerRunDll {601ac3dc-786a-4eb0-bf40-ee3521e70bfb}");

//ShellApp.ShellExecute("Rundll32.exe","shdocvw.dll,OpenURL");//Internet 快捷方式
  //ShellApp.ShellExecute("Rundll32.exe","msconf.dll,OpenConfLink");//SpeedDial
  //ShellApp.ShellExecute("Rundll32.exe","zipfldr.dll,RouteTheCall");//压缩文件夹shdocvw.dll,OpenURL
  //ShellApp.ShellExecute("Rundll32.exe","netplwiz.dll,UsersRunDll");//用户帐户
  //ShellApp.ShellExecute("Rundll32.exe","shell32.dll,Options_RunDLL 0");//文件夹选项
  //ShellApp.ShellExecute("Rundll32.exe","shell32.dll,Options_RunDLL 1");//显示任务栏和开始菜单

//ShellApp.ShellExecute("rundll32.exe", "shell32.dll,Control_RunDLL sysdm.cpl,,1")appwiz.cpl,NewLinkHere
  //ShellApp.ShellExecute("rundll32.exe", "shell32.dll,Control_RunDLLAsUser")

//ShellUI = new ActiveXObject("Shell.UIHelper.1");
  //ShellUI.AddFavorite("http://www.microsoft.com/msdn","MSDN")
  //ShellUI.AddChannel("Http://www.microsoft.com")

ShellApp.ShellExecute("c:\\windows\\system32\\mshta.exe","C:\\xx.hta")

//var s = ShellApp.ShellExecute("rundll32.exe", "kernel32.dll,GetVersionExA"+","+so);

/*var p = "C:\\"
sha = new ActiveXObject("Shell.Application");
  var g = sha.NameSpace(p).Items().Item("xxx");
  var v = g.Verbs();
  var str=null;
  for(i=0;i<v.Count;i++){
str = v.item(i).Name;
if(str.search("重命名")!=-1)break;
str = null
  }
  if(str)
g.InvokeVerbEx(str,"c:\\xx");
  else
alert('no')
  //g.InvokeVerbEx("重命名","xx");
  */


站内搜索