如何在node-webkit上执行组合键,如c#sendkeys

时间:2016-05-25 21:27:39

标签: node.js node-webkit

我制作了一个Webkit应用程序,它在txt上注册小代码,就像片段一样,以便稍后在其他应用上使用。我可以找到我的“片段”并将内容设置在剪贴板上。

但是,我想在Node-Webkit上运行“Ctrl + v”组合键,就像C#上的SendKeys函数一样。

现在我需要按下手动键组合“Ctrl + v”粘贴到另一个应用程序。

此外,我正在考虑如何运行另一个文件,如一个小的exe程序,它执行SendKey功能并关闭它。但我更喜欢node-webkit函数,而不需要调用其他脚本或exe程序。

这样做是可行的,我怎么能这样做?谢谢你们。

1 个答案:

答案 0 :(得分:1)

好吧,我在互联网上寻找答案而没有结果。

但我实现的最佳解决方案是使用VBScript帮助文件。

效果很好!!

应用调用粘贴功能执行“paste.vbs”文件。

paste.vbs

set shell = CreateObject("WScript.Shell") 
WScript.Sleep 300
shell.SendKeys "^V"

myapp.js

var gui = require('nw.gui');
var win = gui.Window.get();

function getCommandLine() {
   switch (process.platform) { 
      case 'darwin' : return 'open';
      case 'win32' : return 'start';
      case 'win64' : return 'start';
      default : return 'xdg-open';
   }
} 
function Paste(){
    var sys = require('util');
    var exec = require('child_process').exec; 
    exec(getCommandLine() + ' ' + "paste.vbs"); 
} 
function useSnippet(content){
    var clipboard = gui.Clipboard.get(); 
    clipboard.set(content, 'text');
    win.minimize();
    Paste();
} 

现在您可以获取文件内容以粘贴到其他应用程序中。

如果要与其他操作系统兼容,则必须使用与VBS类似的其他命令文件

我使用一个文件列表并阅读搜索列表中的段落内容。

我可以在GitHub上创建一个项目来加载代码,以便其他人可以使用它或帮助我改进代码。