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) {
return new ActiveXObject(name);
if(typeof(GetObject) !== "function") {
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) {
@ -129,6 +137,12 @@ function require(FN) {
return cache[FN];
}
/////////////////////////////////////////////////////////////////////////////////
// get configuration variables
/////////////////////////////////////////////////////////////////////////////////
var __config = require("config");
/////////////////////////////////////////////////////////////////////////////////
// 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 SHELL = require("lib/shell");
// set application name
var APPLICATION_NAME = "welsonjs";
return {
main: function() {
// unlock file
@ -25,10 +22,10 @@ return {
// register URI scheme
console.log("Registering URI scheme...");
REG.write(REG.HKCR, APPLICATION_NAME, "", "URL:" + APPLICATION_NAME, REG.STRING);
REG.write(REG.HKCR, APPLICATION_NAME, "URL Protocol", "", REG.STRING);
REG.write(REG.HKCR, APPLICATION_NAME + "\\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, "", "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);
// open HTA file
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 URILoader = require("uriloader");
// "override console.__echo()";
global.console.__echo = function(msg) {
@ -311,6 +312,20 @@ return {
// "set movable window";
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";
//var appArguments = args[0].split(' ');
// TODO