如何使用Node.js获取在Mac上在前台运行的应用程序窗口的坐标?

Negi

我正在编写将在Mac计算机上运行的node.js脚本。我想获取在前台运行的应用程序的坐标和进程详细信息。

例如,如果我运行脚本并且打开的唯一程序是Google Chrome,那么我应该得到一个包含1个对象的数组,其中包含:

  • Google Chrome的进程ID
  • Google Chrome窗口的x / y坐标。

到目前为止,我所能做的就是获取正在运行的进程的列表:

  • ps-node:一个进程查找实用程序

如果有帮助,我还将使用nw.js框架运行我的应用程序。

stdob--

您可以使用NodObjC-Node.js⇆Objective-C桥:

var $ = require('nodobjc')

$.framework('Foundation');
$.framework('Cocoa');

var pool = $.NSAutoreleasePool('alloc')('init');
var result = $.CGWindowListCopyWindowInfo($.kCGWindowListExcludeDesktopElements |
                                          $.kCGWindowListOptionOnScreenOnly,
                                          $.kCGNullWindowID);
var windowList = $.CFBridgingRelease(result);

var error = $.alloc($.NSError).ref();

var jsonData = $.NSJSONSerialization('dataWithJSONObject', 
                                     windowList, 
                                     'options',
                                     $.NSJSONWritingPrettyPrinted,
                                     'error', 
                                     error);

var jsonString = $.NSString('alloc')('initWithData', 
                                     jsonData, 
                                     'encoding',                                          
                                     $.NSUTF8StringEncoding);

var parsed = JSON.parse(jsonString);

console.log(parsed);

pool('drain');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用usageStats.getTotalTimeInForeground()获取设备中每个应用程序花费在前台的时间

来自分类Dev

在前台时如何刷新本机Deeplink应用程序?

来自分类Dev

如何在前台移动我的应用程序?

来自分类Dev

如何在Android设备上使用Node js后端运行React Native应用程序?

来自分类Dev

如何在Objective-C中获取当前应用程序的前台窗口名称

来自分类Dev

在Azure网站中运行的Node.js 0.12.6应用程序上获取ENOTSUP错误

来自分类Dev

如何知道我的应用程序是在前台还是在后台,android?

来自分类Dev

应用程序在前台时如何处理Firebase通知

来自分类Dev

我的应用程序不在前台时如何检查用户不活动

来自分类Dev

如何从BroadcastManager中的Workmanager检查应用程序是否在前台?

来自分类Dev

在MacOS X下使用Qt在前台启动应用程序

来自分类Dev

可以在Node js上运行laravel 5.2应用程序

来自分类Dev

如何在使用群集模块的Node.js应用程序中运行Cron Job?

来自分类Dev

如何在AWS上运行Vue JS应用程序?

来自分类Dev

如何使用域和 SSL 在 AWS 上设置 Node.js 应用程序

来自分类Dev

像Facebook,Whatsapp这样的Android应用程序如何在没有通知的情况下在前台提供服务?

来自分类Dev

如何检查应用程序是否在前台但在特定时间内未访问-iOS

来自分类Dev

如何使用快捷方式在Mac上使用选项卡关闭应用程序的多个窗口之一?

来自分类Dev

无法在后台使用应用程序保持GPS处于活动状态,或者在前台或后台使用应用程序无法读取位置

来自分类Dev

保持Node JS应用程序运行

来自分类Dev

如何通过程序包名称将后台运行的应用程序移至前台

来自分类Dev

如何使我的应用程序处于前台?

来自分类Dev

如何使用Visual Studio 2013和Node Tools NTVS调试Node.js应用程序

来自分类Dev

如何获取应用程序正在使用Typescript运行的路径?

来自分类Dev

如何获取应用程序正在使用Typescript运行的路径?

来自分类Dev

Heroku Node.js (express.js) 应用程序在本地运行,但在使用 MongoDB 时在 heroku 上失败

来自分类Dev

如何使用 docker-composer 运行 node js docker 容器来管理 php 应用程序资产

来自分类Dev

在前台或后台运行Twisted应用程序的正确方法

来自分类Dev

如何从Mac(OS X)上的沙盒应用程序运行AppleScript

Related 相关文章

  1. 1

    使用usageStats.getTotalTimeInForeground()获取设备中每个应用程序花费在前台的时间

  2. 2

    在前台时如何刷新本机Deeplink应用程序?

  3. 3

    如何在前台移动我的应用程序?

  4. 4

    如何在Android设备上使用Node js后端运行React Native应用程序?

  5. 5

    如何在Objective-C中获取当前应用程序的前台窗口名称

  6. 6

    在Azure网站中运行的Node.js 0.12.6应用程序上获取ENOTSUP错误

  7. 7

    如何知道我的应用程序是在前台还是在后台,android?

  8. 8

    应用程序在前台时如何处理Firebase通知

  9. 9

    我的应用程序不在前台时如何检查用户不活动

  10. 10

    如何从BroadcastManager中的Workmanager检查应用程序是否在前台?

  11. 11

    在MacOS X下使用Qt在前台启动应用程序

  12. 12

    可以在Node js上运行laravel 5.2应用程序

  13. 13

    如何在使用群集模块的Node.js应用程序中运行Cron Job?

  14. 14

    如何在AWS上运行Vue JS应用程序?

  15. 15

    如何使用域和 SSL 在 AWS 上设置 Node.js 应用程序

  16. 16

    像Facebook,Whatsapp这样的Android应用程序如何在没有通知的情况下在前台提供服务?

  17. 17

    如何检查应用程序是否在前台但在特定时间内未访问-iOS

  18. 18

    如何使用快捷方式在Mac上使用选项卡关闭应用程序的多个窗口之一?

  19. 19

    无法在后台使用应用程序保持GPS处于活动状态,或者在前台或后台使用应用程序无法读取位置

  20. 20

    保持Node JS应用程序运行

  21. 21

    如何通过程序包名称将后台运行的应用程序移至前台

  22. 22

    如何使我的应用程序处于前台?

  23. 23

    如何使用Visual Studio 2013和Node Tools NTVS调试Node.js应用程序

  24. 24

    如何获取应用程序正在使用Typescript运行的路径?

  25. 25

    如何获取应用程序正在使用Typescript运行的路径?

  26. 26

    Heroku Node.js (express.js) 应用程序在本地运行,但在使用 MongoDB 时在 heroku 上失败

  27. 27

    如何使用 docker-composer 运行 node js docker 容器来管理 php 应用程序资产

  28. 28

    在前台或后台运行Twisted应用程序的正确方法

  29. 29

    如何从Mac(OS X)上的沙盒应用程序运行AppleScript

热门标签

归档