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 小时前
Python 函数核心:位置参数与关键字参数详解
java·前端·python
丷丩1 小时前
MapLibre GL JS第8课:禁用滚动缩放
javascript·mapbox·maplibre gl js
Kratzdisteln1 小时前
【无标题】
前端·python
Curvatureflight2 小时前
前端国际化 i18n 落地实践:语言包、动态文案和格式化问题怎么处理?
前端·c++·vue
kTR2hD1qb2 小时前
Claude Code Skill的介绍与使用
java·前端·数据库·人工智能
修己xj3 小时前
打造专属博文封面神器:一个开源免费的博文封面生成器ThisCover
前端
kyriewen3 小时前
面试8家前端岗位后,我发现了一个残酷的事实:AI不是加分项,是门槛
前端·javascript·面试
乐于分享的阿乐3 小时前
最新长期支持版本nodejs安装及环境配置(保姆级图文+安装包)
node.js
Fighting_p3 小时前
【面试 - el-select问题及解决】wujie 微前端下子系统 el-select 多选 filterable 过滤失效
前端
吃口巧乐兹3 小时前
AI 全栈时代,为什么要服务端使用 NestJs
前端