# 启动

> 随 Windows 一起启动、关闭窗口之后会发生什么，以及在后台运行期间让工作站仍然够得着的那个托盘图标。

启动是设置页面上**常规**分组的第三行。它决定工作站这个进程什么时候运行：Windows 登录时要不要拉起它，关闭窗口是结束它还是把它藏起来，以及工作站打开时是否停在欢迎页。三行都是一拨就生效的开关，三行都需要**更改设置**权限。

## 随 Windows 一起启动 {#start-with-windows}

| 字段 | 它是什么 | 取值 / 默认 | 效果 |
| --- | --- | --- | --- |
| 随 Windows 一起启动 | “你登录 Windows 时自动启动，隐藏在通知区域里。” | 开或关。在你打开它之前是关的。 | 开：在当前用户的 `Software\Microsoft\Windows\CurrentVersion\Run` 键下写一个 `GanterLab` 值，用 `--tray` 拉起已安装的可执行文件，于是一次 Windows 登录就把工作站隐藏着启动起来，从通知区域提供服务。关：删掉那个值，以及它旁边 Windows 的“启动项已批准”标记。 |

注册表是唯一的准据；关于这个开关，配置数据库里什么都不存。每次页面打开时开关都重新读一遍注册表，所以你在任务管理器的“启动”里禁用掉的那一项，在这里读作关；再把开关打开，就是一次明确的重新启用，并清掉那个标记。只有这个开关会写那个键：应用启动时从不重写那个值，也从不把任务管理器禁用掉的条目重新按上去。这项登记是按用户的，不需要管理员。

这次写入是对工作站的改动，工作站不接受改动时它被拒绝。运行时停止期间这个页面根本不画出来（见[设置](settings)）。隐藏着启动不打开任何窗口；进去的路是托盘图标。

## 关闭窗口后继续在后台运行 {#keep-running-in-the-background-when-closed}

| 字段 | 它是什么 | 取值 / 默认 | 效果 |
| --- | --- | --- | --- |
| 关闭窗口后继续在后台运行 | “关闭窗口后，采集和记录继续在通知区域里运行。要退出，请用托盘图标的‘退出’。” | 开或关。默认是开的。 | 开：窗口的关闭按钮把窗口藏起来；宿主、内置的 OPC UA 服务器、设备通信、记录、Web 宿主和代理访问全都继续运行。关：关闭按钮走和“退出”同一条拆卸流程结束应用。 |

关闭按钮第一次把窗口藏起来时，应用自己的一个小窗口，**Ganter Lab 仍在运行**，会说明什么继续工作、图标在哪里（时钟旁边，或者任务栏的 ^ 箭头里），以及关掉这个开关后关闭按钮每次都会退出应用。它提供**在后台继续运行**（默认项，Esc 也选它）和**立即退出**，后者只这一次退出，开关保持打开。无论选哪一个，这台工作站上都不会再出现它。开关关掉时，关闭按钮直接退出，不作提示。更多内容见[窗口](app-window#the-system-tray)。

## 在菜单中显示欢迎页 {#show-the-welcome-page-in-the-menu}

| 字段 | 它是什么 | 取值 / 默认 | 效果 |
| --- | --- | --- | --- |
| 在菜单中显示欢迎页 | “逐步讲解程序的每个区域。它留在菜单中时，工作站打开时先显示它。” | 开或关。默认是开的，新工作站和从早期版本更新的工作站都一样。 | 开：对要搭建东西的角色来说，[欢迎](welcome)是导航栏的第一项，工作站打开时停在这一页。关：这一项一次性离开所有屏幕的导航栏，工作站打开时停在 View。 |

这一页自己的 **不再显示** 会把这个开关关掉；在这里重新打开，这一页就回到导航栏上。这个设置属于工作站，所以对每个角色、每块屏幕都一样。

## 托盘图标 {#the-tray-icon}

通知区域的那个图标是品牌方块，角上带一个健康状态圆点。这个圆点映的是 Connector 的健康状态，和状态栏的健康状态是同一个来源、同样的字：每台设备都在读时是绿色，有一台不稳定时是警示色调，有一台未在通信时是红色，Connector 停止时是灰色。内置 OPC UA 服务器不算在里面：服务器停着时 Connector 照样在读。提示文字写着“Ganter Lab：Connector：在线”（或者状态栏那一行，例如“Ganter Lab：Connector：Furnace 未在通信”），有采集正在记录时后面加上“（正在记录）”；这个标记每十五秒刷新一次。左键单击打开窗口；右键单击打开菜单。在[设置里的品牌](settings-branding)中设了图标和名称后，图标换成工作站的图标并带同样的圆点，提示文字和菜单也用工作站的名称代替 Ganter Lab（“Acme：Connector：在线”）。

| 菜单项 | 作用 |
| --- | --- |
| 打开 Ganter Lab | 还原并激活窗口。在品牌里设了名称后，这一项写作“打开”加上那个名称。 |
| Connector：在线（只读） | 状态栏的健康状态那一行，和提示文字说的一样，带着记录标记。它是一行状态，不是一条命令。 |
| 退出 | 走那唯一一条拆卸流程结束进程。 |

这个菜单有意不放服务器的启动和停止：随手一点不该把正在从这台工作站读数的客户端全都掀掉。关闭服务器在 [Connector 上它那一行](connector-opcua-server)上做。

## 退出 {#exit}

退出，不管是从托盘、从开关关着时的关闭按钮，还是从 Windows 结束会话，走的都是同一条拆卸流程：Web 宿主、实时序列采集器、代理访问、健康监视器、Process 运行时、内置的 OPC UA 服务器、逻辑运行时（把保留的内部存储值刷出去）、事件日志，最后是宿主连同采集存储。每一步都有时间上限，所以卡住的那一步会被记进诊断日志并跳过，而不是把进程晾在那里，进程随后一定结束。

如果有记录正在进行，退出会先问一句。一个标题为“记录正在进行”的窗口说明：“退出会停止数据采集。到目前为止记录的内容全部已保存，下次启动 Ganter Lab 时会重新打开，但应用关闭期间不会记录任何新内容。”，带**保持运行**和**仍然退出**两个按钮。保持运行让一切照旧，托盘图标也在。Windows 结束会话时从不等这个问题；宽限期允许多少，它就刷出去多少。

已经有一个实例占着同一个数据根目录时再启动应用，不会起第二份：新的这次启动示意正在运行的那一个把窗口显示出来，然后自己退出。

## 这一节不做什么 {#what-this-section-does-not-do}

这里没有定时启动或停止，没有独立于“随 Windows 一起启动”的“最小化启动”（Windows 登录时的启动一律是隐藏的），没有以服务方式运行的模式，也没有按用户设的项：这里的每个开关都属于工作站。重启应用以接受更新在[更新](settings-updates)上。
