heX API 說明

2018-08-29 14:01 更新

heX 內置的所有方法及屬性均掛載在 window 對象的 hex 對象下。事件可以通過監(jiān)聽 window 對象來響應。

列表

方法

hex.restore()

恢復當前窗口。

hex.move()

移動當前窗口。

hex.size()

調整當前窗口大小。

hex.minimize()

最小化當前窗口。

hex.maximize()

最大化當前窗口。

hex.close()

關閉當前窗口。

hex.showSystemMenu(x, y)

在指定位置彈出系統(tǒng)菜單。若菜單成功彈出則返回 true,否則返回 false。x (整型) - 菜單彈出 X 軸位置;
y(整型) - 菜單彈出 Y 軸位置。若參數個數小于 2 個或者參數不為整型則返回 undefined。

hex.deleteSystemCommand(command)

刪除指定的系統(tǒng)菜單項 command (整型)。若菜單項成功刪除則返回 true,否則返回 false。若參數個數小于 2 個或者參數不為整型則返回 undefined。
command 參數:

  • 0 = RESTORE 恢復
  • 1 = MOVE 移動
  • 2 = SIZE 調整大小
  • 3 = MINIMIZE 最小化
  • 4 = MAXIMIZE 最大化
  • 5 = CLOSE 關閉

hex.enableSystemCommand(command, enabled)

使能指定的系統(tǒng)菜單項 command (整型) 為 enabled (布爾)。返回上一次的設定值。若參數個數小于 2 個或者參數類型不符則返回 undefined。

hex.insertSystemCommand(command, beforeCommand)

在指定的系統(tǒng)菜單項 beforeCommand (整型)前插入系統(tǒng)菜單項 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 (整型) 位置設置為窗口的非客戶區(qū)。若設置成功則返回 true??蛻魠^(qū)的概念參見:http://msdn.microsoft.com/en-us/library/windows/desktop/dd162743(v=vs.85).aspx

hex.setAsNonBorderAreas(x, y)

將指定坐標 x (整型) y (整型) 位置設置為窗口的非邊框區(qū)域。

hex.setAsSystemMenuIconAreas(x, y)

將指定坐標 x (整型) y (整型) 位置設置為窗口的系統(tǒng)圖標區(qū)域。

hex.getSize()

返回一個對象,包括當前窗口的寬度 width (整型)與高度 height (整型)。

hex.getPosition()

返回一個對象,包括當前窗口的 X (整型)周與 Y (整型)軸位置。還可能是下面的值:

  • SYSTEMDEFAULT (-1) 系統(tǒng)默認
  • PARENTCENTERED (-2) 父窗口中心
  • SCREENCENTERED (-3) 屏幕中心

hex.getWorkspaceRect()

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

hex.setFormIcon(path)

為當前窗口設置一個 path (字符串)指定路徑下的圖標。

hex.terminate()

終結當前應用程序。

hex.cancelMode()

觸發(fā)系統(tǒng)的 CANCELMODE 消息。參見:http://msdn.microsoft.com/en-us/library/windows/desktop/ms632615(v=vs.85).aspx。

hex.getMaximizedAdjustedBorderWidth()

返回最大化后溢出屏幕范圍的邊框寬度。只針對開啟了 Aero 的 Windows。

hex.snapshot(rect, calback)

對瀏覽器窗口內部的指定區(qū)域進行截圖,并在回調函數中返回操作結果,包括寬度、高度、以及包含截圖元數據的 Uint8ClampedArray 對象。

rect 代表指定區(qū)域,可以是一個包含了 left, top, right, bottom 四個整數值的數組或者是一個包含了上述四個 key 的對象。如:
[0, 0, 100, 100] 或者 { left: 0, top: 0, right: 100, bottom: 100 }。

callback 回調函數中的參數:

  • success:布爾值,是否截圖成功。
  • width:整型,最終截取的區(qū)域的寬度。
  • height:整型,最終截取的區(qū)域的高度。
  • 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()

對整個桌面窗口的指定區(qū)域進行截圖,并在回調函數中返回操作結果,參數定義同 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)

打開一個外部命令,類似在控制臺中執(zhí)行命令。

hex.openExternal(url)

在默認瀏覽器中打開一個 URL。此 URL 必須為一個合法的 URL。

hex.showTargetInFolder(path)

在資源管理器或者 Finder 中定位指定的文件或文件夾。此 path 必須為一個合法的 path。

hex.updateManifest()

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

屬性

position 類型

用于 getPosition() 方法返回值。此類屬性為只讀屬性。

  • SYSTEMDEFAULT (-1) 系統(tǒng)默認
  • PARENTCENTERED (-2) 父窗口中心
  • SCREENCENTERED (-3) 屏幕中心

activation 類型

用于 formActivation 屬性返回值。此類屬性為只讀屬性。

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

state 類型

用于 formState 屬性返回值。此類屬性為只讀屬性。

  • NORMAL (0) 常態(tài)
  • 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

返回當前窗口的顯示狀態(tài) state。

hex.formActivation

返回當前窗口的激活狀態(tài) activation。此屬性為只讀屬性。

hex.formEnabled

返回當前窗口的使能狀態(tài)。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": {            // 這臺設備的工作區(qū)域 Rect
        "left": 0,
        "top": 0,
        "right": 1680,
        "bottom": 968
      },
      "current": false             // 當前窗口不在這臺設備區(qū)域上
    },
    {                           // 第二臺設備
      "primary": false,            // 這臺設備不是主設備
      "boundsRect": {
        "left": 1680,
        "top": 0,
        "right": 3360,
        "bottom": 1050
      },
      "workAreaRect": {
        "left": 1680,
        "top": 0,
        "right": 3360,
        "bottom": 1050
      },
      "current": true              // 當前窗口在這臺設備區(qū)域上
    }
  ],
  "fullRect": {                 // 當前所有設備所構成的一個最大的矩形區(qū)域
    "top": 0,
    "left": 0,
    "bottom": 1050,
    "right": 3360
  },
  "windowRect": {               // 當前窗口相對于屏幕坐標的矩形區(qū)域
    "top": 223,
    "left": 1904,
    "bottom": 823,
    "right": 2704
  }
}

hex.manifest

返回一個對象,包含 manifest.json 內容。此對象可以被修改,但必須通過 hex.updateManifest() 方法將修改保存到文件中。

事件

beforeSystemCommand

  • command 整型 系統(tǒng)菜單項

在系統(tǒng)菜單命令被執(zhí)行之觸發(fā)。僅 manifest.jsonhook_system_commandtrue 時有效。

afterSystemCommand

  • command 整型 系統(tǒng)菜單項

在系統(tǒng)菜單命令被執(zhí)行之觸發(fā)。僅 manifest.jsonhook_system_commandtrue 時有效。

formMoving

在窗口位置及尺寸發(fā)生變化時觸發(fā)。

formActivated

  • activated 布爾 窗口是否被激活

在窗口激活狀態(tài)發(fā)生變化時觸發(fā)。

exitMenu

在菜單關閉時觸發(fā)。

instanceCreated(arguments)

  • arguments 布爾 參數列表

在 Single Instance 模式下新實例啟動時觸發(fā)。

formAeroChanged

  • aero 布爾 Aero 是否開啟

在 Aero 狀態(tài)改變時觸發(fā)。僅在支持 Aero 的 Windows 下有效。

formMouseLeave

在鼠標移出窗口時觸發(fā)。

formResized

  • command 整型 導致窗口狀態(tài)改變的系統(tǒng)菜單項

在窗口狀態(tài)發(fā)生變化是觸發(fā)。

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 元素??梢苑祷匚募x擇的真實路徑信息。

File 的 name 屬性

此屬性為字符串屬性,默認情況下回 File 對象的 name 屬性僅能返回文件名。目前此屬性可以返回真實路徑信息。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號