From d0d39e94d8bfcf401301c3ca258a6ba2c7cdbb5e Mon Sep 17 00:00:00 2001 From: fofolee Date: Sat, 26 Dec 2020 17:47:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0runVbs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/preload.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/preload.js b/src/preload.js index 3319dcb..abe90ed 100644 --- a/src/preload.js +++ b/src/preload.js @@ -176,7 +176,7 @@ quickcommand = { item.text = '' Object.keys(s).forEach(k => item[k] = s[k]) item.id = i - s.icon && (item.text += `
`) + s.icon && (item.text += `
`) s.title && (item.text += `
${s.title}
`) s.description && (item.text += `
${s.description}
`) } else { @@ -369,6 +369,22 @@ quickcommand = { let local = path.join(root, require('crypto').createHash('md5').update(url).digest('hex')) if (forceUpdate || !fs.existsSync(local)) await this.downloadFile(remote, local) return require(local) + }, + + // 运行vbs脚本 + runVbs: function (script) { + if (process.platform != 'win32') return + return new Promise((reslove, reject) => { + var tempfile = path.join(os.tmpdir(), 'TempVBSScript.vbs') + fs.writeFile(tempfile, iconv.encode(script, 'gbk'), err => { + child_process.exec(`cscript.exe /nologo "${tempfile}"`, { + encoding: "buffer" + }, (err, stdout, stderr) => { + if (err) reject(iconv.decode(stderr, 'gbk')) + else reslove(iconv.decode(stdout, 'gbk')) + }); + }) + }) } }