📄 birun.js
字号:
var fso = new ActiveXObject( "Scripting.FileSystemObject" );var script_path = WScript.ScriptFullName;var gcBindowsDir = getBindowsFolder( fso.GetFile(script_path).ParentFolder.Path );if ( WScript.Arguments.length == 0 ) { var objShell = new ActiveXObject( "WScript.Shell") var currentSettings = objShell.RegRead( "HKLM\\Software\\MBT\\Bindows\\BasePath" ); WScript.Echo( currentSettings ); WScript.Echo( gcBindowsDir ); objShell.RegWrite( "HKCR\\xmlfile\\Shell\\Run with Bindows\\Command\\", "wscript " + script_path + " %1" ); WScript.Echo( "You can now run Bindows files using the right click menu" ); WScript.Quit(0);}var adf = WScript.Arguments(0);function isBindowsFolder( path ){ var f = fso.GetFolder( path ); var fc = new Enumerator(f.SubFolders); for ( ; !fc.atEnd() ; fc.moveNext() ) { if ( fc.item().Name.toLowerCase() == "html" ) { return true; } } return false;}function getBindowsFolder( path ){ if ( isBindowsFolder( path )) return path; if ( fso.GetFolder( path ).IsRootFolder ) { throw "Unable to find path to Bindows" ; } return getBindowsFolder( fso.GetFolder( path ).ParentFolder );}function isValidAdf( oDoc ){ // We can certainly add more checks here... var rootTagName = oDoc.documentElement.tagName; if ( rootTagName != "Application" && rootTagName != "application" ) { return false; } return true;}function getLongPathName( path, bDir ){ var f = bDir ? fso.GetFolder( path ) : fso.GetFile( path ); var shortpath = f.ShortPath; if ( path.indexOf("~" ) == -1 ) return path; var pf = f.ParentFolder; var basename = f.Name; var pflongname = getLongPathName( pf.Path, true ); fc = new Enumerator( bDir ? pf.SubFolders : pf.Files ); for (; !fc.atEnd(); fc.moveNext()) { var cand = pflongname + "\\" + fc.item().Name; var candshort = bDir ? fso.GetFolder( cand ).ShortPath.toLowerCase() :fso.GetFile( cand ).ShortPath.toLowerCase(); if ( candshort == shortpath.toLowerCase() ) return cand; }}adf = getLongPathName(adf, false) ;var fname = fso.GetFile( adf ).Name;var oDoc = new ActiveXObject( "MSXML.DOMDocument" );oDoc.load( adf );if ( !isValidAdf(oDoc) ) { WScript.Echo( "The file " + adf + " is not a valid ADF" ); WScript.Quit(0);}var re = new RegExp("\\\\", "gi");var bUseWeb = false;var elems = oDoc.documentElement.selectNodes( "Web/Local" );if ( elems.length > 0 ) { var elem = elems[0]; elems = elem.selectNodes( "Bindows" ); if ( elems.length > 0 ) { var bindowsWebPath = elems[0].text; elems = elem.selectNodes( "AdfDir" ); if ( elems.length > 0 ) { var adfDir = elems[0].text; bUseWeb = true; } }}var fileLauncher = gcBindowsDir + "\\html\\templauncher.html";if ( bUseWeb ) { adf = adfDir + "/" + fname ; var tmpLauncher = "http://localhost" + bindowsWebPath + "/html/templauncher.html";}else { adf = "file:///" + adf.replace( re, "/" ); var tmpLauncher = fileLauncher;}var ts = fso.CreateTextFile( fileLauncher );ts.WriteLine( "<html xmlns:v=\"urn:schemas-microsoft-com:vml\">" );ts.WriteLine( "<head>");ts.WriteLine( "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">");ts.WriteLine( "<meta http-equiv=\"MsThemeCompatible\" content=\"yes\">");ts.WriteLine( "<link type=\"text/css\" rel=\"StyleSheet\" href='css\\bimain.css'>");ts.WriteLine( "<script type=\"text/javascript\" src='js\\application.js'></script>");ts.WriteLine( "</head>");ts.WriteLine( "<body>");ts.WriteLine( "<script type=\"text/javascript\">application.start('./', '" + adf + "');</script>");ts.WriteLine( "</body>");ts.WriteLine( "</html>");ts.Close();var ie = new ActiveXObject( "InternetExplorer.Application" );ie.MenuBar = falseie.StatusBar = falseie.AddressBar = falseie.ToolBar = falsevar elems = oDoc.documentElement.selectNodes( "Window" );if ( elems.length < 1 ) var elems = oDoc.documentElement.selectNodes( "window" );if (elems.length < 1 ) { WScript.Echo( "The file " + adf + " is not a valid ADF" ); WScript.Quit(0);}var elem = elems[0];var sWidth = elem.getAttribute( "width" );if ( sWidth != null ) ie.Width = Number( sWidth );var sHeight = elem.getAttribute( "height" );if ( sHeight != null ) ie.Height = Number( sHeight );var sLeft = elem.getAttribute( "left" );if ( sLeft != null ) ie.Left = Number( sLeft );var sTop = elem.getAttribute( "top" );if ( sTop != null ) { ie.Top = Number( sTop );}ie.Navigate( tmpLauncher );ie.Visible = true
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -