heX API 说明

2018-08-29 14:01 更新

heX 内置的所有方法及属性均挂载在 window 对象的 hex 对象下。事件可以通过监听 window 对象来响应。

列表

方法

hex.restore()

恢复当前窗口。

hex.move()

移动当前窗口。

hex.size()

调整当前窗口大小。

hex.minimize()

最小化当前窗口。

hex.maximize()

最大化当前窗口。

hex.close()

关闭当前窗口。

hex.showSystemMenu(x, y)

在指定位置弹出系统菜单。若菜单成功弹出则返回 true,否则返回 false。x (整型) - 菜单弹出 X 轴位置;
y(整型) - 菜单弹出 Y 轴位置。若参数个数小于 2 个或者参数不为整型则返回 undefined

hex.deleteSystemCommand(command)

删除指定的系统菜单项 command (整型)。若菜单项成功删除则返回 true,否则返回 false。若参数个数小于 2 个或者参数不为整型则返回 undefined
command 参数:

  • 0 = RESTORE 恢复
  • 1 = MOVE 移动
  • 2 = SIZE 调整大小
  • 3 = MINIMIZE 最小化
  • 4 = MAXIMIZE 最大化
  • 5 = CLOSE 关闭

hex.enableSystemCommand(command, enabled)

使能指定的系统菜单项 command (整型) 为 enabled (布尔)。返回上一次的设定值。若参数个数小于 2 个或者参数类型不符则返回 undefined

hex.insertSystemCommand(command, beforeCommand)

在指定的系统菜单项 beforeCommand (整型)前插入系统菜单项 command (整型)。若菜单项成功插入则返回 true,否则返回 false

hex.setPopupFormSize(width, height)

设置即将弹出的窗口的初始宽度 width (整型)及高度 height (整型)。此方法需要在 window.open() 之前调用。

hex.setPopupFormPosition(x, y)

设置即将弹出的窗口的初始 X (整型)轴及 Y (整型)轴位置。此方法需要在 window.open() 之前调用。

hex.sizeTo(width, height)

为窗口设置新的宽度 width (整型)和高度 height (整型)。返回一个对象,属性包含窗口原来的宽度及高度。若参数个数小于 2 个或者参数不为整型则返回 undefined

hex.moveTo(x, y)

为窗口设置新的 X (整型)轴和 Y (整型)轴的位置。返回一个对象,属性包含窗口原来的 X 轴和 Y 轴的位置。若参数个数小于 2 个或者参数不为整型则返回 undefined

hex.focusForm()

将窗口设置到最前端。若设置成功则返回 true

hex.setAsTitleBarAreas(x, y)

将指定坐标 x (整型) y (整型) 位置设置为窗口的非客户区。若设置成功则返回 true。客户区的概念参见:http://msdn.microsoft.com/en-us/library/windows/desktop/dd162743(v=vs.85).aspx

hex.setAsNonBorderAreas(x, y)

将指定坐标 x (整型) y (整型) 位置设置为窗口的非边框区域。

hex.setAsSystemMenuIconAreas(x, y)

将指定坐标 x (整型) y (整型) 位置设置为窗口的系统图标区域。

hex.getSize()

返回一个对象,包括当前窗口的宽度 width (整型)与高度 height (整型)。

hex.getPosition()

返回一个对象,包括当前窗口的 X (整型)周与 Y (整型)轴位置。还可能是下面的值:

  • SYSTEMDEFAULT (-1) 系统默认
  • PARENTCENTERED (-2) 父窗口中心
  • SCREENCENTERED (-3) 屏幕中心

hex.getWorkspaceRect()

返回一个对象,包括当前窗口所在屏幕的 RECT 信息—— left (整型) top (整型) right (整型) bottom (整型)。

hex.setFormIcon(path)

为当前窗口设置一个 path (字符串)指定路径下的图标。

hex.terminate()

终结当前应用程序。

hex.cancelMode()

触发系统的 CANCELMODE 消息。参见:http://msdn.microsoft.com/en-us/library/windows/desktop/ms632615(v=vs.85).aspx

hex.getMaximizedAdjustedBorderWidth()

返回最大化后溢出屏幕范围的边框宽度。只针对开启了 Aero 的 Windows。

hex.snapshot(rect, calback)

对浏览器窗口内部的指定区域进行截图,并在回调函数中返回操作结果,包括宽度、高度、以及包含截图元数据的 Uint8ClampedArray 对象。

rect 代表指定区域,可以是一个包含了 left, top, right, bottom 四个整数值的数组或者是一个包含了上述四个 key 的对象。如:
[0, 0, 100, 100] 或者 { left: 0, top: 0, right: 100, bottom: 100 }。

callback 回调函数中的参数:

  • success:布尔值,是否截图成功。
  • width:整型,最终截取的区域的宽度。
  • height:整型,最终截取的区域的高度。
  • uri:字符串,包含截图的 PNG 格式的 base64 URI 字符串。
  • array:Uint8ClampedArray 对象,包含截图图片内容的位图信息。

Example:

hex.snapshot([0, 0, window.innerWidth, window.innerHeight], 
    function (success, width, height, uri, array) {
  if (!success) return;
  var canvas = document.createElement("canvas");
  canvas.width = width;
  canvas.height = height;
  var ctx = canvas.getContext("2d");
  var imageData = ctx.createImageData(width, height);
  imageData.data.set(array);
  ctx.putImageData(imageData, 0, 0);
  document.body.appendChild(canvas);
});

hex.snapshotDesktop()

对整个桌面窗口的指定区域进行截图,并在回调函数中返回操作结果,参数定义同 hex.snapshot 方法。

Example:

hex.snapshotDesktop(hex.screen.fullRect, 
    function (success, width, height, uri, array) {
  if (!success) return;
  var img = new Image;
  img.src = uri;
  document.body.appendChild(img);
});

hex.getCursorScreenPosition()

返回当前鼠标指针在屏幕中的位置。

hex.openTarget(command)

打开一个外部命令,类似在控制台中执行命令。

hex.openExternal(url)

在默认浏览器中打开一个 URL。此 URL 必须为一个合法的 URL。

hex.showTargetInFolder(path)

在资源管理器或者 Finder 中定位指定的文件或文件夹。此 path 必须为一个合法的 path。

hex.updateManifest()

更新修改后的 hex.manifest 对象到 manifest.json 中。

属性

position 类型

用于 getPosition() 方法返回值。此类属性为只读属性。

  • SYSTEMDEFAULT (-1) 系统默认
  • PARENTCENTERED (-2) 父窗口中心
  • SCREENCENTERED (-3) 屏幕中心

activation 类型

用于 formActivation 属性返回值。此类属性为只读属性。

  • ACTIVATED (0) 激活
  • INACTIVATED (-1) 未激活

state 类型

用于 formState 属性返回值。此类属性为只读属性。

  • NORMAL (0) 常态
  • MINIMIZED (1) 最小化的
  • MAXIMIZED (2) 最大化的
  • HIDDEN (3) 隐藏
  • FULLSCREEN (4) 全屏

command 类型

用于 deleteSystemCommand(command) enableSystemCommand(command, enabled) insertSystemCommand(command, beforeCommand) 方法返回值。此类属性为只读属性。

  • RESTORE (0) 恢复
  • MOVE (1) 移动
  • SIZE (2) 调整大小
  • MINIMIZE (3) 最小化
  • MAXIMIZE (4) 最大化
  • CLOSE (5) 关闭

hex.applicationDirectoryPath

返回当前程序所在目录。此属性为只读属性。

hex.formState

返回当前窗口的显示状态 state

hex.formActivation

返回当前窗口的激活状态 activation。此属性为只读属性。

hex.formEnabled

返回当前窗口的使能状态。true 代表窗口可用。

hex.topMost

返回当前窗口是否总在最前。true 代表总在最前。

hex.transparency

返回当前窗口的透明度。取值范围 0(全透明) - 255(不透明),仅当 manifest.jsontransparency 不为 none 时有效。

hex.minWidth

返回当前窗口的最小宽度。若设置为 NONE (-1) 则忽略此设置。

hex.minHeight

返回当前窗口的最小高度。若设置为 NONE (-1) 则忽略此设置。

hex.maxWidth

返回当前窗口的最大宽度。若设置为 NONE (-1) 则忽略此设置。

hex.maxHeight

返回当前窗口的最大高度。若设置为 NONE (-1) 则忽略此设置。

hex.commandLineArguments

返回命令行参数列表。

hex.screen

返回一个对象,包含了当前屏幕的各种信息。

Example:

{
  "displays": [                 // 包含当前显示设备的列表
    {                           // 第一台设备
      "primary": true,             // 这台设备是主设备
      "boundsRect": {              // 这台设备的 Rect
        "left": 0,
        "top": 0,
        "right": 1680,
        "bottom": 1050
      },
      "workAreaRect": {            // 这台设备的工作区域 Rect
        "left": 0,
        "top": 0,
        "right": 1680,
        "bottom": 968
      },
      "current": false             // 当前窗口不在这台设备区域上
    },
    {                           // 第二台设备
      "primary": false,            // 这台设备不是主设备
      "boundsRect": {
        "left": 1680,
        "top": 0,
        "right": 3360,
        "bottom": 1050
      },
      "workAreaRect": {
        "left": 1680,
        "top": 0,
        "right": 3360,
        "bottom": 1050
      },
      "current": true              // 当前窗口在这台设备区域上
    }
  ],
  "fullRect": {                 // 当前所有设备所构成的一个最大的矩形区域
    "top": 0,
    "left": 0,
    "bottom": 1050,
    "right": 3360
  },
  "windowRect": {               // 当前窗口相对于屏幕坐标的矩形区域
    "top": 223,
    "left": 1904,
    "bottom": 823,
    "right": 2704
  }
}

hex.manifest

返回一个对象,包含 manifest.json 内容。此对象可以被修改,但必须通过 hex.updateManifest() 方法将修改保存到文件中。

事件

beforeSystemCommand

  • command 整型 系统菜单项

在系统菜单命令被执行之触发。仅 manifest.jsonhook_system_commandtrue 时有效。

afterSystemCommand

  • command 整型 系统菜单项

在系统菜单命令被执行之触发。仅 manifest.jsonhook_system_commandtrue 时有效。

formMoving

在窗口位置及尺寸发生变化时触发。

formActivated

  • activated 布尔 窗口是否被激活

在窗口激活状态发生变化时触发。

exitMenu

在菜单关闭时触发。

instanceCreated(arguments)

  • arguments 布尔 参数列表

在 Single Instance 模式下新实例启动时触发。

formAeroChanged

  • aero 布尔 Aero 是否开启

在 Aero 状态改变时触发。仅在支持 Aero 的 Windows 下有效。

formMouseLeave

在鼠标移出窗口时触发。

formResized

  • command 整型 导致窗口状态改变的系统菜单项

在窗口状态发生变化是触发。

INPUT 元素的 hexcustom 属性

此属性为布尔值属性,仅作用于 type 为 file 的 INPUT 元素。设置后,hexsavefile、hexreserved、hexfiletypebuttonvalue、hexfiletypepathvalue 属性有效。

INPUT 元素的 hexsavefile 属性

此属性为布尔值属性,仅作用于 type 为 file 的 INPUT 元素。设置后,将弹出一个保存文件对话框。

INPUT 元素的 hexreserved 属性

此属性为布尔值属性,仅作用于 type 为 file 的 INPUT 元素。默认情况下,当文件选择对话框中点击取消后,之前选定的路径将被清除。此属性允许在取消选择文件时不清空上一次选择的路径。

INPUT 元素的 hexfiletypebuttonvalue 属性

此属性为字符串属性,仅作用于 type 为 file 的 INPUT 元素。默认情况下,文件选择控件上的按钮文本是不可以自定义的。此属性允许自定义文件选择按钮上的文本内容。

INPUT 元素的 hexfiletypepathvalue 属性

此属性为字符串属性,仅作用于 type 为 file 的 INPUT 元素。默认情况下,文件选择控件上仅显示选择的假路径或者文件个数。此属性可以返回及设置文件选择的路径信息。

HTMLInputElement 的 path 属性

此属性为字符串属性,仅作用于 type 为 file 的 INPUT 元素。可以返回文件选择的真实路径信息。

File 的 name 属性

此属性为字符串属性,默认情况下回 File 对象的 name 属性仅能返回文件名。目前此属性可以返回真实路径信息。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号