用 nodejs 写了一个记录 windows 程序使用时间的命令行工具

121 天前
 Plumbiu

本意是想做一个应用程序的,但是只会 electron ,而 electron 打包的程序又太大,因此退而求其次做了一个命令行工具,未来熟悉了 win32api 可以试一下用 rust 重写。

还有 5 天就要期末考试了,用了 2 天肝完的,所以项目质量可能不是很高,可能有一些小 Bug ,等期末考试结束再重构一遍。

由于 windows 自启动服务实现有点困难,从网上找了很多教程,发现都需要额外下载 pm2 、forever 之类的,后来发现可以使用 powershell 开机运行 nodejs 脚本,除了刚开机的时候一闪而过的窗口,没有啥大问题

开源地址: https://github.com/Plumbiu/record-your-life 欢迎 star

2091 次点击
所在节点    分享创造
16 条回复
zyxk
121 天前
问下,获取程序运行时间是怎么实现的, 什么原理
gouflv
121 天前
两天能有这个代码质量,羡慕现在学生的精力
Plumbiu
121 天前
@zyxk hmc-win32 提供了可以监听程序切换的 API ,在切换程序的时候,将前一个程序运行时间更新就行,比如有一个程序正在运行,存储的对象是 { duration: 0, time: 某个时间 },在切换程序的时候,他就变成了上一个执行的程序,那么运行时间就是现在的时间减去对象中之前存储的时间
Plumbiu
121 天前
@gouflv 小问题还挺多的,比如 QQ 就获取不到
Plumbiu
121 天前
@Plumbiu 现在可以了
FishBear
121 天前
有趣 加星了
aks
121 天前
可以做成在菜单栏加个图标,右键直接查看使用时间吗
Plumbiu
121 天前
@aks 好建议,期末考完就做这个
yushiro
121 天前
都已经安装 nodejs 了,再装个 pm2 也没啥门槛了吧。
cat
121 天前
建议做成 Windows 服务
Plumbiu
121 天前
@yushiro windows 重启之后 pm2 服务就停掉了,自启动的话还要写 bat 脚本
Plumbiu
121 天前
@cat 最开始也是做成服务的,但是 node-windows 那个库不是很稳定,js 里的计时器好像没法运行
yushiro
118 天前
@Plumbiu 不需要吧,pm2 可以安装成随系统自启动的
Plumbiu
118 天前
@yushiro 我搜到的都是要额外安装别的包....不过现在倒是直接可以执行命令行创建计划任务了
kiic
55 天前
我这个软件应该可能大概能帮上你 https://cos.kiic.top/165216541/pot_cc_start.zip
user_data.json 里面可以配置是否在 ctrl+c+c 时候响应 pot 翻译工具
他还带着一些有趣的配置:
启动的程序路径:path
是否拥有管理员权限 :admin
延迟启动毫秒数 :time
是否隐藏窗口:hide
cwd:工作路径
cmd: 启动时候输入的命令行
Plumbiu
54 天前
@kiic 已经用 windows 计划任务实现了,不过还是感谢分享

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1007293

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX