欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用純Node.JS彈出Windows系統(tǒng)消息提示框?qū)嵗?MessageBox)

 更新時(shí)間:2017年05月17日 10:29:03   作者:kris  
這篇文章主要介紹了用純Node.JS彈出Windows系統(tǒng)消息提示框?qū)嵗?MessageBox),非常具有實(shí)用價(jià)值,需要的朋友可以參考下

Node.JS是一個(gè)控制臺(tái)程序,如果想要從Node.JS彈出Windows系統(tǒng)提示框的話,有很多方法可以實(shí)現(xiàn)。比如借助 electron 或 node-webkit:

在Electron中彈出消息框

Electron與Windows的接口非常完善,可以調(diào)用各種Window原生機(jī)制,如創(chuàng)建系統(tǒng)托盤圖標(biāo)。打開文件夾選擇框等。這里使用dialog,即可彈出系統(tǒng)消息提示框:

const {
  app
 , BrowserWindow
 , Menu
 , Tray
 , shell
 , dialog
 , ipcMain
} = require('electron')

var parseCommand = function() {
 dialog.showMessageBox({
   title  : '錯(cuò)誤'
  , type  : 'error'
  , message : '此文件沒有跟 OnceDoc 綁定'
 })
}

var initApp = function() {
 parseCommand()
}

app.on('ready', initApp)

使用electron運(yùn)行上面的代碼:

electron app.js

調(diào)用VB腳本彈出消息框

Electron的確實(shí)比較方便,但是體積比較大,消息彈出比較慢。我們可以通過child_process調(diào)用VB腳本彈出消息框。

比如,我們新建一個(gè) VB 腳本文件,命名為: vb.message.vbs,內(nèi)容如下:

msgbox WScript.Arguments(1), vbInformation, WScript.Arguments(0)

此腳本會(huì)將第一個(gè)和第二個(gè)參數(shù)作為提示框的標(biāo)題和內(nèi)容彈出,在Node.JS調(diào)用即可:

var cp  = require('child_process')

var initApp = function() {
 var vbsPath = path.join(__dirname, 'vb.message.vbs')

 cp.exec('cscript.exe ' + vbsPath + ' "提示" "此文件沒有跟 OnceDoc 綁定"', function(err, stdout, stderr) {
  if (err) {
   fs.writeFileSync('log.log', err.toString())
  }
 })
}

initApp()

使用ActiveXObject彈出消息框

VB腳本需要?jiǎng)?chuàng)建額外的文件,使用ActiveXObject則直接在Node.JS中編寫腳本,比如:

var cp  = require('child_process')
var initApp = function() {
 cp.exec('mshta "javascript:var sh=new ActiveXObject("WScript.Shell"); sh.Popup("Message!", 10, "Title!", 64 );close()"')
}

initApp()

除了彈出提示框外,借助vb和activex腳本均可實(shí)現(xiàn)一些高級(jí)功能,如連接本數(shù)據(jù)庫等。此外借助msg.exe系統(tǒng)進(jìn)程間通信也可

以實(shí)現(xiàn)消息提示框,不過某些系統(tǒng)可能沒有安裝msg.exe,并且此種方法不能自定義消息標(biāo)題。

cp.exec('msg %username% "這是什么意思? 我不知道"')

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • node.js連接mongoose數(shù)據(jù)庫方法詳解

    node.js連接mongoose數(shù)據(jù)庫方法詳解

    之前我們都是通過shell來完成對(duì)數(shù)據(jù)庫的各種操作的,在開發(fā)中大部分時(shí)候我們都需要通過程序來完成對(duì)數(shù)據(jù)庫的操作。而Mongoose就是一個(gè)讓我們可以通過Node來操作MongoDB的模塊
    2022-08-08
  • NodeJS模塊與ES6模塊系統(tǒng)語法及注意點(diǎn)詳解

    NodeJS模塊與ES6模塊系統(tǒng)語法及注意點(diǎn)詳解

    這篇文章主要給大家介紹了關(guān)于NodeJS模塊與ES6模塊系統(tǒng)語法及注意點(diǎn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • node.js中的fs.readdirSync方法使用說明

    node.js中的fs.readdirSync方法使用說明

    這篇文章主要介紹了node.js中的fs.readdirSync方法使用說明,本文介紹了fs.readdirSync方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node.js中的定時(shí)器nextTick()和setImmediate()區(qū)別分析

    node.js中的定時(shí)器nextTick()和setImmediate()區(qū)別分析

    本文介紹了node.js中的定時(shí)器nextTick()和setImmediate()的區(qū)別分析,非常的不錯(cuò),這里推薦給大家。
    2014-11-11
  • 修改npm全局安裝模式的路徑方法

    修改npm全局安裝模式的路徑方法

    今天小編就為大家分享一篇修改npm全局安裝模式的路徑方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 手把手帶你安裝多個(gè)node版本

    手把手帶你安裝多個(gè)node版本

    在項(xiàng)目開發(fā)過程中,不同項(xiàng)目使用的node版本不同,有時(shí)會(huì)因?yàn)閚ode版本過高或太低,導(dǎo)致報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于安裝多個(gè)node版本的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • 我用的一些Node.js開發(fā)工具、開發(fā)包、框架等總結(jié)

    我用的一些Node.js開發(fā)工具、開發(fā)包、框架等總結(jié)

    這篇文章主要介紹了我個(gè)人使用的一些Node.js開發(fā)工具、開發(fā)包、框架等總結(jié),需要的朋友可以參考下
    2014-09-09
  • node.js?實(shí)現(xiàn)手機(jī)號(hào)驗(yàn)證碼登錄功能

    node.js?實(shí)現(xiàn)手機(jī)號(hào)驗(yàn)證碼登錄功能

    這篇文章主要介紹了node.js?實(shí)現(xiàn)手機(jī)號(hào)驗(yàn)證碼登錄功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • 解決node-sass偶爾安裝失敗的方法小結(jié)

    解決node-sass偶爾安裝失敗的方法小結(jié)

    這篇文章主要介紹了解決node-sass偶爾安裝失敗的方法小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • 基于Node.js的http模塊搭建HTTP服務(wù)器

    基于Node.js的http模塊搭建HTTP服務(wù)器

    這篇文章主要為大家介紹了基于Node.js的http模塊來搭建HTTP服務(wù)器的示例過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02

最新評(píng)論