工控机通电自动开机,并自动启动软件
2022 年 6 月 16 日 · 2 分钟读完
设备现场希望一合闸,工控机就自己开机,并自动打开上位机软件,不用人去按电源键、点图标。需要三步:来电自动开机、Windows 自动登录、软件自动启动。
一、来电自动开机(BIOS)
以研华工控机为例:
- 开机时按
Del进 BIOS; - 右移到 Chipset;
- 选择 PCH-IO Configuration,回车;
- 下移到 Restore AC Power Loss(有的叫 State After G3),回车;
- 选择 Power On(或 S0 State),回车;
- 按
F4保存并退出(有的主板是F10)。
其他品牌的 BIOS 位置不同,找带有 AC Power Loss、AC Back、Power On After Power Failure 字样的选项,设成 Power On / Always On 即可。
设置后,断电再来电时会自动开机。要测试的话,关机后拔掉电源再插上。
二、Windows 自动登录
软件放在「启动」文件夹里,要等用户登录后才会启动。如果系统设了密码,开机会停在登录界面,所以要让 Windows 自动登录:
Win + R输入netplwiz回车;- 取消勾选「要使用本计算机,用户必须输入用户名和密码」,确定,输入一次密码。
Win10 / 11 上找不到这个勾选框时,先到 设置 → 账户 → 登录选项,关闭「为了提高安全性,仅允许对此设备上的 Microsoft 帐户使用 Windows Hello 登录」。
三、软件开机自启
方法一:启动文件夹
Win + R打开运行窗口:

- 输入
shell:startup回车,打开当前用户的启动文件夹:

- 把软件的快捷方式放进去(快捷方式不能是隐藏的):

- 重启测试。
shell:common startup 打开的是所有用户共用的启动文件夹。
方法二:任务计划程序
启动文件夹有两个问题:软件需要管理员权限时,每次开机都会弹 UAC 确认框;启动太早,网卡、相机驱动还没就绪。用任务计划程序可以解决:
- 开始菜单搜「任务计划程序」→ 创建任务;
- 常规:勾选使用最高权限运行;
- 触发器:新建 → 开始任务选「登录时」,在「高级设置」里勾选延迟任务时间,比如 30 秒;
- 操作:启动程序,选软件的 exe,「起始于」填 exe 所在的目录(不填的话程序里用相对路径读配置文件会找不到);
- 条件:取消「只有在计算机使用交流电源时才启动此任务」。
延伸
- 软件里用相对路径的坑:开机自启时,进程的当前目录不一定是 exe 所在目录(快捷方式的「起始位置」、任务计划的「起始于」决定),用
Environment.CurrentDirectory拼路径会出错。程序里应该用AppDomain.CurrentDomain.BaseDirectory或Application.StartupPath。 - 防止重复启动:自启加上操作员手动双击,可能开出两个实例,抢串口、抢相机。见 WinForm 小坑合集 里的「只允许运行一个实例」。
- 崩溃后自动重启:任务计划里「设置」页可以配「如果任务失败,按以下频率重新启动」;更可靠的是写一个小的守护程序,检测主程序进程不在了就拉起来。
- 关闭自动更新和休眠:现场工控机最好关掉 Windows 自动更新重启、屏幕保护和睡眠,否则可能在生产中突然重启。
- 远程维护:见 远程桌面免密码登录。
原文首发于 blog.csdn.net