Javascript 使用NW.js(节点Webkit)执行Windows文件/事件

Javascript 使用NW.js(节点Webkit)执行Windows文件/事件,javascript,html,css,node.js,node-webkit,Javascript,Html,Css,Node.js,Node Webkit,首先,我要说的是,我远远不是一个喜欢JavaScript的人。我更多地使用HTML和CSS,并“涉猎”JavaScript,比如调整一些代码,使JQuery代码在前端实现我希望的功能 我在试图完成一项任务时遇到了一些问题,这导致我第一次使用NW.js(Node Webkit) 我正在尝试创建一个4按钮用户界面,允许单击时发生以下4个事件: 1. Load a website in a new window 2. Open windows explorer to a specific direct

首先,我要说的是,我远远不是一个喜欢JavaScript的人。我更多地使用HTML和CSS,并“涉猎”JavaScript,比如调整一些代码,使JQuery代码在前端实现我希望的功能

我在试图完成一项任务时遇到了一些问题,这导致我第一次使用NW.js(Node Webkit)

我正在尝试创建一个4按钮用户界面,允许单击时发生以下4个事件:

1. Load a website in a new window
2. Open windows explorer to a specific directory and allow the user to browse
3. Extend Windows Display on a Dual Monitor Setup
4. Clone Windows Display on a Dual Monitor Setup
我最初差不多完成了,并且通过一个HTML应用程序文件轻松地实现了我的结果——我知道,已经过时了,但是它允许我在我的技能范围内工作,并且相当轻松地完成我需要的任务。问题是,它不允许CSS3和正在打开的网站使用它,它几乎破坏了它作为一个整体的外观。所以我需要一些新的东西

我无意中发现了NW.js,并开始使用它。我已经加载了我的软件包,我的“应用程序”现在可以启动了,但是旧的脚本不起作用了,我又回到了原点。我不知道如何使用NW.js在Windows中启动可执行文件-这让我发疯

下面是在HTML应用程序文件中工作的代码(不包括文件资源管理器,我在意识到它不工作之前还没有找到它):


我的HTML应用程序
函数RunPad(){
WshShell=newActiveXObject(“WScript.Shell”);
运行(“c:/windows/system32/notepad.exe”,1,false);
}
函数RunExtend(){
WshShell=newActiveXObject(“WScript.Shell”);
WshShell.Run(“c:/windows/System32/DisplaySwitch.exe/extend”,1,false);
}
函数RunClone(){
WshShell=newActiveXObject(“WScript.Shell”);
WshShell.Run(“c:/windows/System32/DisplaySwitch.exe/clone”,1,false);
}
函数RunWebsite(){
WshShell=newActiveXObject(“WScript.Shell”);
运行(“c:/ProgramFiles/InternetExplorer/iexplore.exe”,1,false);
}
我真的被困在这个问题上了,不知道用NW.js来完成这项工作该走哪条路


任何帮助都将不胜感激。

ActiveXObject仅适用于IE/Edge,因此它不会在Chromium(NW使用)下工作

不过,您可以为每个ActiveXObject函数创建单独的Vbs脚本,并根据需要使用node.js(受NW支持)以这种方式调用/执行它们

function RunExtProgram(ProgName){

 require('child_process').exec(ProgName,function(error,stdout,stderr){if(error!==null){alert('Unable to launch process:<br><br>'+stderr+'<br><br>'+ProgName);}});

}
function RunExtProgram(ProgName){

 require('child_process').exec(ProgName,function(error,stdout,stderr){if(error!==null){alert('Unable to launch process:<br><br>'+stderr+'<br><br>'+ProgName);}});

}
RunExtProgram('C:/test/abc.vbs');