node打开本地应用程序

1,576

1.打开浏览器

最简单的方法:

const cp = require('child_process')
cp.exec('start http://127.0.0.1:8889/');  // 自动打开默认浏览器

另一种方法是安装open 依赖包:

const open = require('open');
(async () => {
    // Opens the image in the default image viewer and waits for the opened app to quit.
    await open('unicorn.png', {wait: true});
    console.log('The image viewer app quit');

    // Opens the URL in the default browser.
    await open('https://sindresorhus.com');

    // Opens the URL in a specified browser.
    await open('https://sindresorhus.com', {app: 'firefox'});

    // Specify app arguments.
    await open('https://sindresorhus.com', {app: ['google chrome', '--incognito']});
})();

可以看到支持的功能更全面,对各平台的支持也有保证。

2.打开指定的应用程序

这里打开VS CODE

const exec = require('child_process').execFile;
const path = "D:\\Program Files\\IntelliJ IDEA 2019.2.3\\bin\\idea64.exe"
exec(path, function(err, data) {  
        if (err) {
           throw err;
        }
        console.log(data.toString());                       

    });      

将会打开idea

在windows下怎么获取程序的运行参数呢?

可以先右键用vs code打开一个项目

然后win + r 打开 运行程序

输入wmic 回车

查看所有运行中进程的命令行参数:

wmic process get caption,commandline /value

查询指定进程的命令行参数:

wmic process where caption="notepad.exe" get caption,commandline /value【精确查找】

wmic process where="caption like 'notepad%'" get caption,commandline /value【模糊查找】

所以,打开指定的目录就可以通过如下代码实现了:

const exec = require('child_process').execFile;

const path = "D:\\Program Files\\Microsoft VS Code\\Code.exe"
exec(path, ['目录路径'], function(err, data) {  
        if (err) {
           throw err;
        }
        console.log(data.toString());                       

});   

nice!