node-ddk, electron 组件, 操作窗口

node-ddk 操作窗口

https://blog.csdn.net/eli960/article/details/146207062

也可以下载demo直接演示

http://linuxmail.cn/go#node-ddk

在渲染进程(既web端)操作

ts 复制代码
import renderer, { NODEDDK } from "node-ddk/renderer"
let w = renderer.window

// 本窗口参数
w.getInfo()
// 关闭窗口
window.close()
w.close()
// 注册关闭前执行函数
w.registerBeforeunloadOnce(async () => {
  if (!window.confirm("点击确定,关闭窗口")) {
    return false
  }
}
// 强制关闭窗口
w.forcedClose()
// 最小化
w.minimize()
// 最大化
 w.maximize()
// 退出最大化
w.unmaximize()
// 最大化/退出最大化
w.maximizeSwitch(),
// 隐藏
w.hide()
// 全屏
w.setWindowFullscreen()
// 退出全屏
w.unsetWindowFullscreen()
// 总在最上面
w.setWindowAlwaysOnTop()
// 退出总在最上面
w.unsetWindowAlwaysOnTop()
// 左上角(800x600)
w.setRectangle({ x: 0, y: 0, width: 800, height: 600 })
// 右下角(1000x800)
w.setRectangle({ x: screen.availWidth - 1000, y: screen.availHeight - 800 - 36, width: 1000, height: 800 })
// 上下左右居中
w.setCenter()
// 缩放 60%
w.setZoomFactor(0.6)
// 缩放 80%
w.setZoomFactor(0.8)
// 缩放 100%
w.setZoomFactor(1)
// 缩放 120%
w.setZoomFactor(1.2)
// 获取 FACTOR
w.getZoomFactor()

窗口,高级连续动作

ts 复制代码
w.operateWindowStepByStep({
steps: [
{ type: "position", x: 0, y: 0 },
{ type: "sleep", sleep: 1000 },
{ type: "maximize" },
{ type: "sleep", sleep: 1000 },
{ type: "unmaximize" },
{ type: "sleep", sleep: 1000 },
{ type: "center" },
{ type: "sleep", sleep: 1000 },
{ type: "size", width: 300, height: 200 },
{ type: "sleep", sleep: 1000 },
{ type: "hide" },
{ type: "sleep", sleep: 1000 },
{ type: "show" },
{ type: "sleep", sleep: 1000 },
{ type: "size", width: 800, height: 600 },
{ type: "sleep", sleep: 1000 },
{ type: "increaseZoomFactor", factor: 0.2 },
{ type: "sleep", sleep: 1000 },
{ type: "setZoomFactor", factor: 1 },
{ type: "sleep", sleep: 1000 },
{ type: "fullscreen" },
{ type: "sleep", sleep: 1000 },
{ type: "unfullscreen" },
]
})
相关推荐
前端摸鱼匠1 小时前
Vue 3 的v-bind合并行为:讲解v-bind与普通属性合并的规则
前端·javascript·vue.js·前端框架·ecmascript
REDcker2 小时前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
donecoding3 小时前
一个 sudo 引发的血案:npm 全局包权限错乱彻底修复
前端·node.js·前端工程化
风骏时光牛马3 小时前
Raku正则匹配与数据批量处理实操案例
前端
nbwenren3 小时前
2026实测:Gemini 3 镜像站视觉能力实践——拍照原型图,一键生成 HTML+CSS 代码
前端·css·html
Lee川3 小时前
Prisma 实战指南:像搭积木一样设计古诗词数据库
前端·数据库·后端
Linsk3 小时前
Java和JavaScript的关系真是雷峰和雷峰塔的关系吗?
java·javascript·oracle
当时只道寻常4 小时前
浏览器文本复制到剪贴板:企业级最佳实践
javascript
jinanwuhuaguo4 小时前
(第二十九篇)OpenClaw 实时与具身的跃迁——从异步孤岛到数字世界的“原住民”
前端·网络·人工智能·重构·openclaw