This commit is contained in:
Namhyeon Go 2020-07-23 18:03:58 +09:00
parent 6cfabe3268
commit be70c01671
4 changed files with 36 additions and 9 deletions

18
app.js
View File

@ -69,8 +69,16 @@ var console = {
} }
}; };
function CreateObject(name) { if(typeof(GetObject) !== "function") {
return new ActiveXObject(name); function GetObject(pathName, className) {
console.warn("Not supported function GetObject() in GUI mode");
};
}
if(typeof(CreateObject) !== "function") {
function CreateObject(className) {
return new ActiveXObject(className);
};
} }
function require(FN) { function require(FN) {
@ -129,6 +137,12 @@ function require(FN) {
return cache[FN]; return cache[FN];
} }
/////////////////////////////////////////////////////////////////////////////////
// get configuration variables
/////////////////////////////////////////////////////////////////////////////////
var __config = require("config");
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
// Load script, and call app.main() // Load script, and call app.main()
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////

11
bootstrap.js vendored
View File

@ -9,9 +9,6 @@ var REG = require("lib/registry");
var SYS = require("lib/system"); var SYS = require("lib/system");
var SHELL = require("lib/shell"); var SHELL = require("lib/shell");
// set application name
var APPLICATION_NAME = "welsonjs";
return { return {
main: function() { main: function() {
// unlock file // unlock file
@ -25,10 +22,10 @@ return {
// register URI scheme // register URI scheme
console.log("Registering URI scheme..."); console.log("Registering URI scheme...");
REG.write(REG.HKCR, APPLICATION_NAME, "", "URL:" + APPLICATION_NAME, REG.STRING); REG.write(REG.HKCR, __config.appName, "", "URL:" + __config.appName, REG.STRING);
REG.write(REG.HKCR, APPLICATION_NAME, "URL Protocol", "", REG.STRING); REG.write(REG.HKCR, __config.appName, "URL Protocol", "", REG.STRING);
REG.write(REG.HKCR, APPLICATION_NAME + "\\DefaultIcon", "", SYS.getCurrentScriptDirectory() + "\\app\\favicon.ico,0", REG.STRING); REG.write(REG.HKCR, __config.appName + "\\DefaultIcon", "", SYS.getCurrentScriptDirectory() + "\\app\\favicon.ico,0", REG.STRING);
REG.write(REG.HKCR, APPLICATION_NAME + "\\shell\\open\\command", "", "cscript " + SYS.getCurrentScriptDirectory() + "\\app.js uriloader \"%1\"", REG.STRING); REG.write(REG.HKCR, __config.appName + "\\shell\\open\\command", "", "cscript " + SYS.getCurrentScriptDirectory() + "\\app.js uriloader \"%1\"", REG.STRING);
// open HTA file // open HTA file
console.log("Trying open GUI..."); console.log("Trying open GUI...");

1
config.js Normal file
View File

@ -0,0 +1 @@
exports.appName = "welsonjs";

View File

@ -6,6 +6,7 @@
* *
*/ */
var FILE = require("lib/file"); var FILE = require("lib/file");
var URILoader = require("uriloader");
// "override console.__echo()"; // "override console.__echo()";
global.console.__echo = function(msg) { global.console.__echo = function(msg) {
@ -311,6 +312,20 @@ return {
// "set movable window"; // "set movable window";
self.enableMovableWindow(); self.enableMovableWindow();
// "assign click event if it is matched URI scheme";
var elems = document.getElementsByTagName("a");
for(var i in elems) {
var uri = elems[i].href || "";
var pos = uri.indexOf("://");
if(uri.substring(0, pos) == __config.appName) {
elems[i].onclick = function(e) {
var uri = this.href || "";
URILoader.main([uri]);
e.preventDefault();
};
}
}
// "get HTA application arguments"; // "get HTA application arguments";
//var appArguments = args[0].split(' '); //var appArguments = args[0].split(' ');
// TODO // TODO