diff --git a/app.js b/app.js index db27c0b..8c93795 100644 --- a/app.js +++ b/app.js @@ -95,15 +95,17 @@ function require(FN) { // get directory name var getDirName = function(path) { - var pos = path.lastIndexOf("\\"); - return path.substring(0, pos); + var delimiter = "\\"; + var pos = path.lastIndexOf(delimiter); + return (pos > -1 ? path.substring(0, pos) : ""); }; // get current script directory var getCurrentScriptDirectory = function() { if (typeof(WScript) !== "undefined") { - var path = WScript.ScriptFullName; - return getDirName(path); + return getDirName(WScript.ScriptFullName); + } else if (typeof(document) !== "undefined") { + return getDirName(document.location.pathname); } else { return "."; } diff --git a/bootstrap.js b/bootstrap.js index 41e4dd6..3cd5597 100644 --- a/bootstrap.js +++ b/bootstrap.js @@ -24,7 +24,7 @@ exports.main = function(args) { REG.write(REG.HKCR, __config.appName, "", "URL:" + __config.appName, REG.STRING); REG.write(REG.HKCR, __config.appName, "URL Protocol", "", REG.STRING); REG.write(REG.HKCR, __config.appName + "\\DefaultIcon", "", SYS.getCurrentScriptDirectory() + "\\app\\favicon.ico,0", REG.STRING); - REG.write(REG.HKCR, __config.appName + "\\shell\\open\\command", "", "cscript " + SYS.getCurrentScriptDirectory() + "\\app.js uriloader \"%1\"", REG.STRING); + REG.write(REG.HKCR, __config.appName + "\\shell\\open\\command", "", "cmd.exe /c cscript " + SYS.getCurrentScriptDirectory() + "\\app.js uriloader \"%1\"", REG.STRING); // open HTA file console.log("Trying open GUI..."); diff --git a/lib/system.js b/lib/system.js index f300937..5c42902 100644 --- a/lib/system.js +++ b/lib/system.js @@ -99,21 +99,33 @@ exports.getCurrentWorkingDirectory = function() { } catch (e) {} }; -// "console only"; +exports.getDirName = function(path) { + var delimiter = "\\"; + var pos = path.lastIndexOf(delimiter); + return (pos > -1 ? path.substring(0, pos) : ""); +}; + +exports.getFileName = function(path) { + var delimiter = "\\"; + var pos = path.lastIndexOf(delimiter); + return (pos > -1 ? path.substring(pos + delimiter.length) : ""); +}; + exports.getCurrentScriptDirectory = function() { - if(typeof(WScript) !== "undefined") { - var path = WScript.ScriptFullName; - var pos = path.lastIndexOf("\\"); - return path.substring(0, pos); + if (typeof(WScript) !== "undefined") { + return exports.getDirName(WScript.ScriptFullName); + } else if (typeof(document) !== "undefined") { + return exports.getDirName(document.location.pathname); } else { return "."; } }; -// "console only"; exports.getCurrentScriptName = function() { if(typeof(WScript) !== "undefined") { return WScript.ScriptName; + } else if (typeof(document) !== "undefined") { + return exports.getFileName(document.location.pathname); } else { return ""; }