【问题标题】:How execute a combination key on node-webkit like c# sendkeys如何在 node-webkit 上执行组合键,如 c# sendkeys
【发布时间】:2016-05-25 21:27:39
【问题描述】:

我制作了一个 Webkit 应用程序,可以在 txt 上注册小代码,例如 sn-ps,以便以后在其他应用程序上使用。我可以找到我的“sn-p”并在剪贴板上设置内容。

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

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

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

这是可能的,我该怎么做?谢谢大家。

【问题讨论】:

    标签: node.js node-webkit


    【解决方案1】:

    嗯,我一直在网上寻找答案,但没有结果。

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

    而且效果很好!!

    应用调用 Paste 函数来执行“ paste.vbs ”文件。


    粘贴.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 上创建一个项目来加载代码,以便其他人可以使用它或帮助我改进代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 2016-03-14
      • 1970-01-01
      相关资源
      最近更新 更多